@sendbird/uikit-react 3.4.4-rc.0 → 3.4.4-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +41 -40
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +19 -19
- package/Channel/components/ChannelUI.js +34 -33
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +15 -15
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +29 -28
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +25 -24
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +30 -29
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +17 -17
- package/Channel/components/SuggestedMentionList.js +17 -17
- package/Channel/components/TypingIndicator.js +15 -15
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +14 -14
- package/Channel.js +34 -33
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +15 -15
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +30 -30
- package/ChannelList/components/ChannelPreview.js +26 -26
- package/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +30 -30
- package/{ChannelListProvider-02be684a.js → ChannelListProvider-44e8547a.js} +8 -8
- package/{ChannelListProvider-02be684a.js.map → ChannelListProvider-44e8547a.js.map} +1 -1
- package/{ChannelProvider-fcab0099.js → ChannelProvider-67ab36df.js} +10 -10
- package/{ChannelProvider-fcab0099.js.map → ChannelProvider-67ab36df.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +13 -13
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-33fa0e76.js → CreateChannelProvider-f1fbf439.js} +1 -1
- package/{CreateChannelProvider-33fa0e76.js.map → CreateChannelProvider-f1fbf439.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-21c445a7.js → LocalizationContext-a20f1269.js} +3 -3
- package/{LocalizationContext-21c445a7.js.map → LocalizationContext-a20f1269.js.map} +1 -1
- package/{MediaQueryContext-46321124.js → MediaQueryContext-8db5b11a.js} +1 -1
- package/{MediaQueryContext-46321124.js.map → MediaQueryContext-8db5b11a.js.map} +1 -1
- package/{MemberList-eba5d99c.js → MemberList-bb8a12ee.js} +5 -5
- package/{MemberList-eba5d99c.js.map → MemberList-bb8a12ee.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +16 -16
- package/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/OpenChannel/components/OpenChannelMessageList.js +26 -26
- package/OpenChannel/components/OpenChannelUI.js +26 -26
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +26 -26
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-6ed76740.js → OpenChannelListProvider-123511bc.js} +3 -3
- package/{OpenChannelListProvider-6ed76740.js.map → OpenChannelListProvider-123511bc.js.map} +1 -1
- package/{OpenChannelProvider-5887d4bd.js → OpenChannelProvider-2bc7b16f.js} +7 -7
- package/{OpenChannelProvider-5887d4bd.js.map → OpenChannelProvider-2bc7b16f.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-99978eb5.js → RemoveMessageModal-6c854075.js} +3 -3
- package/{RemoveMessageModal-99978eb5.js.map → RemoveMessageModal-6c854075.js.map} +1 -1
- package/SendbirdProvider.js +13 -12
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +26 -25
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +16 -15
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +29 -28
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +29 -28
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +26 -25
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +33 -32
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +33 -32
- package/Thread.js.map +1 -1
- package/{ThreadProvider-c3528b8f.js → ThreadProvider-9b68bbfb.js} +9 -9
- package/ThreadProvider-9b68bbfb.js.map +1 -0
- package/{UserProfileContext-b722645f.js → UserProfileContext-2ee4427e.js} +1 -1
- package/{UserProfileContext-b722645f.js.map → UserProfileContext-2ee4427e.js.map} +1 -1
- package/{VoiceMessageInputWrapper-6bce7f18.js → VoiceMessageInputWrapper-02da58d2.js} +7 -7
- package/{VoiceMessageInputWrapper-6bce7f18.js.map → VoiceMessageInputWrapper-02da58d2.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +4 -3
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +3 -2537
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{_rollupPluginBabelHelpers-06a0d79e.js → _rollupPluginBabelHelpers-af827563.js} +1 -1
- package/_rollupPluginBabelHelpers-af827563.js.map +1 -0
- package/{actionTypes-77e04912.js → actionTypes-66152bd7.js} +1 -1
- package/{actionTypes-77e04912.js.map → actionTypes-66152bd7.js.map} +1 -1
- package/cjs/App.js +41 -40
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +19 -19
- package/cjs/Channel/components/ChannelUI.js +34 -33
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +15 -15
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +29 -28
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +25 -24
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +30 -29
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +17 -17
- package/cjs/Channel/components/SuggestedMentionList.js +17 -17
- package/cjs/Channel/components/TypingIndicator.js +15 -15
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +14 -14
- package/cjs/Channel.js +34 -33
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +15 -15
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +30 -30
- package/cjs/ChannelList/components/ChannelPreview.js +26 -26
- package/cjs/ChannelList/components/ChannelPreviewAction.js +14 -14
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +30 -30
- package/cjs/{ChannelListProvider-182857e2.js → ChannelListProvider-6e4fd69f.js} +8 -8
- package/cjs/{ChannelListProvider-182857e2.js.map → ChannelListProvider-6e4fd69f.js.map} +1 -1
- package/cjs/{ChannelProvider-218991b0.js → ChannelProvider-505d13d6.js} +10 -10
- package/cjs/{ChannelProvider-218991b0.js.map → ChannelProvider-505d13d6.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +13 -13
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-9b9a224f.js → CreateChannelProvider-b30a1d70.js} +1 -1
- package/cjs/{CreateChannelProvider-9b9a224f.js.map → CreateChannelProvider-b30a1d70.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-51dc836f.js → LocalizationContext-f7972a74.js} +3 -3
- package/cjs/{LocalizationContext-51dc836f.js.map → LocalizationContext-f7972a74.js.map} +1 -1
- package/cjs/{MediaQueryContext-07055899.js → MediaQueryContext-24dc053f.js} +1 -1
- package/cjs/{MediaQueryContext-07055899.js.map → MediaQueryContext-24dc053f.js.map} +1 -1
- package/cjs/{MemberList-8e959bdc.js → MemberList-f7ffe73a.js} +5 -5
- package/cjs/{MemberList-8e959bdc.js.map → MemberList-f7ffe73a.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +16 -16
- package/cjs/OpenChannel/components/OpenChannelMessage.js +23 -23
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +26 -26
- package/cjs/OpenChannel/components/OpenChannelUI.js +26 -26
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +26 -26
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-e49acf04.js → OpenChannelListProvider-75a84359.js} +3 -3
- package/cjs/{OpenChannelListProvider-e49acf04.js.map → OpenChannelListProvider-75a84359.js.map} +1 -1
- package/cjs/{OpenChannelProvider-c018bfe2.js → OpenChannelProvider-c3e900f9.js} +7 -7
- package/cjs/{OpenChannelProvider-c018bfe2.js.map → OpenChannelProvider-c3e900f9.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-6f481228.js → RemoveMessageModal-df4027b8.js} +3 -3
- package/cjs/{RemoveMessageModal-6f481228.js.map → RemoveMessageModal-df4027b8.js.map} +1 -1
- package/cjs/SendbirdProvider.js +13 -12
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +26 -25
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +16 -15
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +29 -28
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +29 -28
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +26 -25
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +33 -32
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +33 -32
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-77682d98.js → ThreadProvider-0a0e452d.js} +9 -9
- package/cjs/ThreadProvider-0a0e452d.js.map +1 -0
- package/cjs/{UserProfileContext-4c1cc9e7.js → UserProfileContext-687cb905.js} +1 -1
- package/cjs/{UserProfileContext-4c1cc9e7.js.map → UserProfileContext-687cb905.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-bb085ef5.js → VoiceMessageInputWrapper-dba3849c.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-bb085ef5.js.map → VoiceMessageInputWrapper-dba3849c.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +4 -3
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +5 -2539
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{_rollupPluginBabelHelpers-6137a140.js → _rollupPluginBabelHelpers-633418dc.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-633418dc.js.map +1 -0
- package/cjs/{actionTypes-e9702e2f.js → actionTypes-f060bac2.js} +1 -1
- package/cjs/{actionTypes-e9702e2f.js.map → actionTypes-f060bac2.js.map} +1 -1
- package/cjs/{color-6be2e9f3.js → color-ea4d0fa8.js} +1 -1
- package/cjs/{color-6be2e9f3.js.map → color-ea4d0fa8.js.map} +1 -1
- package/cjs/{compareIds-83a57e5f.js → compareIds-2ed18fb9.js} +1 -1
- package/cjs/{compareIds-83a57e5f.js.map → compareIds-2ed18fb9.js.map} +1 -1
- package/cjs/{const-eb0722bc.js → const-81f175a7.js} +1 -1
- package/cjs/{const-eb0722bc.js.map → const-81f175a7.js.map} +1 -1
- package/cjs/{const-743dfc24.js → const-be830118.js} +1 -1
- package/cjs/{const-743dfc24.js.map → const-be830118.js.map} +1 -1
- package/cjs/{consts-7df240d1.js → consts-a83dba32.js} +1 -1
- package/cjs/{consts-7df240d1.js.map → consts-a83dba32.js.map} +1 -1
- package/cjs/{consts-bb5e01e7.js → consts-d23893f6.js} +1 -1
- package/cjs/{consts-bb5e01e7.js.map → consts-d23893f6.js.map} +1 -1
- package/cjs/{context-d22fc6e7.js → context-443d1d6b.js} +2 -2
- package/cjs/{context-d22fc6e7.js.map → context-443d1d6b.js.map} +1 -1
- package/cjs/{index-ba572c7a.js → index-10a8fbd5.js} +2 -2
- package/cjs/{index-ba572c7a.js.map → index-10a8fbd5.js.map} +1 -1
- package/cjs/{index-39a87513.js → index-23bde05e.js} +2 -2
- package/cjs/{index-39a87513.js.map → index-23bde05e.js.map} +1 -1
- package/cjs/{index-addd3be5.js → index-2724c042.js} +4 -4
- package/cjs/{index-addd3be5.js.map → index-2724c042.js.map} +1 -1
- package/cjs/{index-c78778a6.js → index-478a54a0.js} +3 -3
- package/cjs/{index-c78778a6.js.map → index-478a54a0.js.map} +1 -1
- package/cjs/{index-bef0eca0.js → index-9713036d.js} +1 -1
- package/cjs/{index-bef0eca0.js.map → index-9713036d.js.map} +1 -1
- package/cjs/{index-30065b59.js → index-adbbfcff.js} +4 -4
- package/cjs/{index-30065b59.js.map → index-adbbfcff.js.map} +1 -1
- package/cjs/{index-81bd0a0d.js → index-b823e2cf.js} +7 -7
- package/cjs/{index-81bd0a0d.js.map → index-b823e2cf.js.map} +1 -1
- package/cjs/{index-1dd6b0e3.js → index-d0fd1f01.js} +2 -2
- package/cjs/{index-1dd6b0e3.js.map → index-d0fd1f01.js.map} +1 -1
- package/cjs/{index-f52eb778.js → index-d1dfe98d.js} +1 -1
- package/cjs/{index-f52eb778.js.map → index-d1dfe98d.js.map} +1 -1
- package/cjs/{index-42d826d2.js → index-da4faf79.js} +2 -2
- package/cjs/{index-42d826d2.js.map → index-da4faf79.js.map} +1 -1
- package/cjs/{index-31bdfe4d.js → index-dcafe468.js} +5 -5
- package/cjs/{index-31bdfe4d.js.map → index-dcafe468.js.map} +1 -1
- package/cjs/{index-adcde1d2.js → index-e1a91b28.js} +7 -7
- package/cjs/{index-adcde1d2.js.map → index-e1a91b28.js.map} +1 -1
- package/cjs/{index-244136d1.js → index-e49f1bd9.js} +2 -2
- package/cjs/{index-244136d1.js.map → index-e49f1bd9.js.map} +1 -1
- package/cjs/{index-9e4bf057.js → index-ec71f9d1.js} +3 -3
- package/cjs/{index-9e4bf057.js.map → index-ec71f9d1.js.map} +1 -1
- package/cjs/index.js +45 -44
- package/cjs/index.js.map +1 -1
- package/cjs/lame.all.js +2541 -0
- package/cjs/lame.all.js.map +1 -0
- package/cjs/sendbirdSelectors.js +2 -2
- package/cjs/{stringSet-618eb438.js → stringSet-b6ce1990.js} +1 -1
- package/cjs/{stringSet-618eb438.js.map → stringSet-b6ce1990.js.map} +1 -1
- package/cjs/{topics-a335cb1e.js → topics-4d3495db.js} +1 -1
- package/cjs/{topics-a335cb1e.js.map → topics-4d3495db.js.map} +1 -1
- package/cjs/{tslib.es6-08359f50.js → tslib.es6-a4fb9cb5.js} +1 -1
- package/cjs/{tslib.es6-08359f50.js.map → tslib.es6-a4fb9cb5.js.map} +1 -1
- package/cjs/{types-518abc78.js → types-a16555b3.js} +1 -1
- package/cjs/{types-518abc78.js.map → types-a16555b3.js.map} +1 -1
- package/cjs/ui/Accordion.js +3 -3
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +3 -3
- package/cjs/ui/Avatar.js +2 -2
- package/cjs/ui/Badge.js +5 -5
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/Button.js +3 -3
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +24 -23
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +10 -10
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/OGMessageItemBody.js +10 -10
- 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 +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +1 -1
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +10 -10
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +6 -5
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +10 -10
- package/cjs/{useLongPress-50b32689.js → useLongPress-51e0f9b4.js} +3 -3
- package/cjs/{useLongPress-50b32689.js.map → useLongPress-51e0f9b4.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-60cddb64.js → utils-0bf31864.js} +2 -2
- package/cjs/{utils-60cddb64.js.map → utils-0bf31864.js.map} +1 -1
- package/cjs/{utils-66a05605.js → utils-c545d55f.js} +1 -1
- package/cjs/{utils-66a05605.js.map → utils-c545d55f.js.map} +1 -1
- package/cjs/{utils-e669f1ee.js → utils-c812c88b.js} +1 -1
- package/cjs/{utils-e669f1ee.js.map → utils-c812c88b.js.map} +1 -1
- package/cjs/{utils-81f8670a.js → utils-eb9c5b74.js} +1 -1
- package/cjs/{utils-81f8670a.js.map → utils-eb9c5b74.js.map} +1 -1
- package/cjs/{uuid-cd03215f.js → uuid-35ec1f9e.js} +1 -1
- package/cjs/{uuid-cd03215f.js.map → uuid-35ec1f9e.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-e4afd956.js → color-9914e868.js} +1 -1
- package/{color-e4afd956.js.map → color-9914e868.js.map} +1 -1
- package/{compareIds-90b5fdcc.js → compareIds-5b880a02.js} +1 -1
- package/{compareIds-90b5fdcc.js.map → compareIds-5b880a02.js.map} +1 -1
- package/{const-ed6c468d.js → const-193b2cee.js} +1 -1
- package/{const-ed6c468d.js.map → const-193b2cee.js.map} +1 -1
- package/{const-2c43da6a.js → const-32e76e15.js} +1 -1
- package/{const-2c43da6a.js.map → const-32e76e15.js.map} +1 -1
- package/{consts-9c372f2e.js → consts-7dc2e24e.js} +1 -1
- package/{consts-9c372f2e.js.map → consts-7dc2e24e.js.map} +1 -1
- package/{consts-4cdf8265.js → consts-b275d9da.js} +1 -1
- package/{consts-4cdf8265.js.map → consts-b275d9da.js.map} +1 -1
- package/{context-3da7becc.js → context-ab07b150.js} +2 -2
- package/{context-3da7becc.js.map → context-ab07b150.js.map} +1 -1
- package/{index-e21d4934.js → index-062cd180.js} +3 -3
- package/{index-e21d4934.js.map → index-062cd180.js.map} +1 -1
- package/{index-7e7649f2.js → index-16e0294c.js} +2 -2
- package/{index-7e7649f2.js.map → index-16e0294c.js.map} +1 -1
- package/{index-71682b33.js → index-214a28eb.js} +4 -4
- package/{index-71682b33.js.map → index-214a28eb.js.map} +1 -1
- package/{index-8e2d6bf1.js → index-42429d4a.js} +2 -2
- package/{index-8e2d6bf1.js.map → index-42429d4a.js.map} +1 -1
- package/{index-b498f4df.js → index-534f3471.js} +7 -7
- package/{index-b498f4df.js.map → index-534f3471.js.map} +1 -1
- package/{index-2b6d5baa.js → index-6438ded6.js} +5 -5
- package/{index-2b6d5baa.js.map → index-6438ded6.js.map} +1 -1
- package/{index-caabeae5.js → index-8259be1c.js} +2 -2
- package/{index-caabeae5.js.map → index-8259be1c.js.map} +1 -1
- package/{index-0a265c2c.js → index-a8cc1378.js} +2 -2
- package/{index-0a265c2c.js.map → index-a8cc1378.js.map} +1 -1
- package/{index-b0c02bbc.js → index-b377ef7e.js} +4 -4
- package/{index-b0c02bbc.js.map → index-b377ef7e.js.map} +1 -1
- package/{index-906f26f4.js → index-b6307eba.js} +3 -3
- package/{index-906f26f4.js.map → index-b6307eba.js.map} +1 -1
- package/{index-9746b9e4.js → index-b7f11b75.js} +1 -1
- package/{index-9746b9e4.js.map → index-b7f11b75.js.map} +1 -1
- package/{index-3c6b00b6.js → index-c19ac1ae.js} +7 -7
- package/{index-3c6b00b6.js.map → index-c19ac1ae.js.map} +1 -1
- package/{index-99e3b057.js → index-c52afc50.js} +2 -2
- package/{index-99e3b057.js.map → index-c52afc50.js.map} +1 -1
- package/{index-c24fc3d9.js → index-d9f8424d.js} +1 -1
- package/{index-c24fc3d9.js.map → index-d9f8424d.js.map} +1 -1
- package/index.d.ts +2 -1
- package/index.js +45 -44
- package/index.js.map +1 -1
- package/lame.all.js +2537 -0
- package/lame.all.js.map +1 -0
- package/package.json +1 -2
- package/sendbirdSelectors.js +2 -2
- package/{stringSet-8f776451.js → stringSet-16d76354.js} +1 -1
- package/{stringSet-8f776451.js.map → stringSet-16d76354.js.map} +1 -1
- package/{topics-e27c1d5d.js → topics-cf8fabf5.js} +1 -1
- package/{topics-e27c1d5d.js.map → topics-cf8fabf5.js.map} +1 -1
- package/{tslib.es6-c441d88b.js → tslib.es6-21874629.js} +1 -1
- package/{tslib.es6-c441d88b.js.map → tslib.es6-21874629.js.map} +1 -1
- package/{types-9069552c.js → types-39cccb67.js} +1 -1
- package/{types-9069552c.js.map → types-39cccb67.js.map} +1 -1
- package/ui/Accordion.js +3 -3
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +3 -3
- package/ui/Avatar.js +2 -2
- package/ui/Badge.js +5 -5
- package/ui/BottomSheet.js +1 -1
- package/ui/Button.js +3 -3
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +5 -5
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +7 -7
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +24 -23
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +10 -10
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/OGMessageItemBody.js +10 -10
- 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 +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +1 -1
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +10 -10
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +10 -10
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +6 -5
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +10 -10
- package/{useLongPress-c46971c4.js → useLongPress-c49de8aa.js} +3 -3
- package/{useLongPress-c46971c4.js.map → useLongPress-c49de8aa.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-ce528957.js → utils-2571a443.js} +1 -1
- package/{utils-ce528957.js.map → utils-2571a443.js.map} +1 -1
- package/{utils-cd7aab7a.js → utils-369f1bd4.js} +1 -1
- package/{utils-cd7aab7a.js.map → utils-369f1bd4.js.map} +1 -1
- package/{utils-0f335ebc.js → utils-3e63a59c.js} +1 -1
- package/{utils-0f335ebc.js.map → utils-3e63a59c.js.map} +1 -1
- package/{utils-51f19122.js → utils-8767edbc.js} +2 -2
- package/{utils-51f19122.js.map → utils-8767edbc.js.map} +1 -1
- package/{uuid-e3615ce2.js → uuid-cf6716cb.js} +1 -1
- package/{uuid-e3615ce2.js.map → uuid-cf6716cb.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ThreadProvider-c3528b8f.js.map +0 -1
- package/_rollupPluginBabelHelpers-06a0d79e.js.map +0 -1
- package/cjs/ThreadProvider-77682d98.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-6137a140.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { useReducer, useContext, createContext } from 'react';
|
|
2
|
-
import { _ as __assign } from './tslib.es6-
|
|
3
|
-
import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from './consts-
|
|
2
|
+
import { _ as __assign } from './tslib.es6-21874629.js';
|
|
3
|
+
import { f as VOICE_PLAYER_ROOT_ID, g as VOICE_PLAYER_AUDIO_ID, b as VOICE_MESSAGE_FILE_NAME, c as VOICE_MESSAGE_MIME_TYPE } from './consts-b275d9da.js';
|
|
4
4
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
5
5
|
|
|
6
6
|
var INITIALIZE_AUDIO_UNIT = 'INITIALIZE_AUDIO_UNIT';
|
|
@@ -286,4 +286,4 @@ var useVoicePlayerContext = function () {
|
|
|
286
286
|
};
|
|
287
287
|
|
|
288
288
|
export { AudioUnitDefaultValue as A, VoicePlayerProvider as V, VoicePlayerStatus as a, useVoicePlayerContext as u };
|
|
289
|
-
//# sourceMappingURL=index-
|
|
289
|
+
//# sourceMappingURL=index-062cd180.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-e21d4934.js","sources":["../src/hooks/VoicePlayer/dux/actionTypes.ts","../src/hooks/VoicePlayer/dux/initialState.ts","../src/hooks/VoicePlayer/dux/reducer.ts","../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from \"../../../utils/typeHelpers/objectValues\";\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n logger.info('VoicePlayer: Succeeded getting audio file.', audioFile);\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n });\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-062cd180.js","sources":["../src/hooks/VoicePlayer/dux/actionTypes.ts","../src/hooks/VoicePlayer/dux/initialState.ts","../src/hooks/VoicePlayer/dux/reducer.ts","../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from \"../../../utils/typeHelpers/objectValues\";\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { GroupKey } from '../utils';\n\nexport const VoicePlayerStatus = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoicePlayerStatus = typeof VoicePlayerStatus[keyof typeof VoicePlayerStatus];\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatus;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n}\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VoicePlayerStatus.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from \"./actionTypes\";\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VoicePlayerStatus,\n} from \"./initialState\";\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n}\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VoicePlayerStatus.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VoicePlayerStatus.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nconst noop = () => {/* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst VoicePlayerContext = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n new Promise((resolve) => {\n if (audioFile) {\n resolve(audioFile);\n }\n if (audioStorage?.[groupKey]?.audioFile) {\n resolve(audioStorage[groupKey].audioFile)\n }\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n });\n }).then((audioFile: File) => {\n logger.info('VoicePlayer: Succeeded getting audio file.', audioFile);\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer?.play();\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n voicePlayerRoot.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n });\n };\n\n return (\n <VoicePlayerContext.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </VoicePlayerContext.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(VoicePlayerContext);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VoicePlayerStatus","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","groupKey","payload","audioUnit","_e","__assign","_a","_j","audioPlayer","_k","_f","_b","_g","_l","currentTime","_c","_m","_h","_d","noop","VoicePlayerStoreDefaultValue","VoicePlayerContext","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","children","useReducer","voicePlayerDispatcher","config","useSendbirdStateContext","logger","text","includes","info","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","currentAudioUnit","Audio","URL","createObjectURL","id","volume","loop","onplaying","onpause","ontimeupdate","appendChild","React","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
|
|
3
3
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
4
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
4
|
+
import { u as useLocalization } from './LocalizationContext-a20f1269.js';
|
|
5
5
|
|
|
6
6
|
var OpenChannelMessageStatusTypes = {
|
|
7
7
|
NONE: 'none',
|
|
@@ -178,4 +178,4 @@ var OpenChannelMobileMenu = function (props) {
|
|
|
178
178
|
};
|
|
179
179
|
|
|
180
180
|
export { OpenChannelMobileMenu as O, isFineEdit as a, isFineResend as b, isFineDelete as c, checkIsPending as d, checkIsFailed as e, checkIsSent as f, getSenderFromMessage as g, isFineCopy as i, showMenuTrigger as s };
|
|
181
|
-
//# sourceMappingURL=index-
|
|
181
|
+
//# sourceMappingURL=index-16e0294c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-7e7649f2.js","sources":["../src/utils/openChannelUtils.ts","../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","_c","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-16e0294c.js","sources":["../src/utils/openChannelUtils.ts","../src/ui/OpenChannelMobileMenu/index.tsx"],"sourcesContent":["import type { User } from '@sendbird/chat';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: UserMessage | FileMessage): User => {\n // @ts-ignore\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: UserMessage | FileMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: UserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message?.messageType === 'user' && message?.message?.length > 0);\n};\n\ninterface isFineResendParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n // @ts-ignore\n && message?.isResendable();\n};\n\ninterface isFineEditParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status) && message?.isUserMessage?.();\n};\n\ninterface isFineDeleteParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface IsFineDownloadParams {\n message: FileMessage | UserMessage;\n status: string;\n}\n\nexport const isFineDownload = ({ message, status }: IsFineDownloadParams): boolean => {\n if (message?.isFileMessage?.() && checkIsSent(status)) {\n return true;\n }\n return false;\n};\n\ninterface showMenuTriggerParams {\n message: UserMessage | FileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n // @ts-ignore\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n // @ts-ignore\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import './open-channel-mobile-menu.scss';\n\nimport React from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport {\n isFineDelete,\n isFineResend,\n isFineCopy,\n isFineEdit,\n isFineDownload,\n} from '../../utils/openChannelUtils';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport { useLocalization } from '../../lib/LocalizationContext';\n\ntype Props = {\n message: UserMessage | FileMessage;\n parentRef: React.RefObject<HTMLDivElement>;\n resendMessage?(): void;\n showRemove?(): void;\n copyToClipboard?(): void;\n showEdit?(): void;\n hideMenu(): void;\n isEphemeral?: boolean;\n};\n\nconst OpenChannelMobileMenu: React.FC<Props> = (props: Props) => {\n const {\n message,\n parentRef,\n resendMessage,\n showEdit,\n showRemove,\n copyToClipboard,\n hideMenu,\n isEphemeral = false,\n } = props;\n const userMessage = message as UserMessage;\n const status = message?.sendingStatus;\n const { stringSet } = useLocalization();\n const userId = useSendbirdStateContext()?.config?.userId;\n const fileMessage = message as FileMessage;\n return (\n <ContextMenu\n isOpen\n menuItems={() => (\n <MenuItems\n className=\"sendbird-openchannel__mobile-menu\"\n parentRef={parentRef}\n parentContainRef={parentRef}\n closeDropdown={hideMenu}\n >\n {\n isFineCopy({ message: userMessage, userId, status }) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__copy\"\n onClick={() => {\n copyToClipboard();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__COPY}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineEdit({ message, userId, status })) && (\n <MenuItem\n className=\"sendbird-openchannel-og-message__top__context-menu__edit\"\n onClick={() => {\n showEdit();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__EDIT}</>\n </MenuItem>\n )\n }\n {\n isFineResend({ message, userId, status }) && (\n <MenuItem\n onClick={() => {\n resendMessage();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__RESEND}</>\n </MenuItem>\n )\n }\n {\n (!isEphemeral && isFineDelete({ message, userId, status })) && (\n <MenuItem\n onClick={() => {\n showRemove();\n }}\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n >\n <a\n className=\"sendbird-openchannel__mobile-menu-hyperlink\"\n rel=\"noopener noreferrer\"\n href={fileMessage?.url}\n target=\"_blank\"\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__SAVE}\n </a>\n </MenuItem>\n )\n }\n </MenuItems>\n )\n }/>\n )\n}\n\nexport default OpenChannelMobileMenu;\n"],"names":["OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","message","sender","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","userId","isFineCopy","_a","messageType","_b","length","isFineResend","isResendable","isFineEdit","isUserMessage","call","isFineDelete","isFineDownload","isFileMessage","showMenuTrigger","props","OpenChannelMobileMenu","parentRef","resendMessage","showEdit","showRemove","copyToClipboard","hideMenu","_c","isEphemeral","userMessage","sendingStatus","stringSet","useLocalization","useSendbirdStateContext","config","fileMessage","React","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","url","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import { PlaybackTime } from './ui/PlaybackTime.js';
|
|
|
3
3
|
import { ProgressBar } from './ui/ProgressBar.js';
|
|
4
4
|
import TextButton from './ui/TextButton.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from './ui/Icon.js';
|
|
6
|
-
import { b as LabelColors, L as Label, a as LabelTypography } from './index-
|
|
7
|
-
import { u as useLocalization } from './LocalizationContext-
|
|
8
|
-
import { j as VOICE_RECORDER_CLICK_BUFFER_TIME, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-
|
|
6
|
+
import { b as LabelColors, L as Label, a as LabelTypography } from './index-c52afc50.js';
|
|
7
|
+
import { u as useLocalization } from './LocalizationContext-a20f1269.js';
|
|
8
|
+
import { j as VOICE_RECORDER_CLICK_BUFFER_TIME, a as VOICE_RECORDER_DEFAULT_MIN } from './consts-b275d9da.js';
|
|
9
9
|
|
|
10
10
|
var VoiceMessageInputStatus = {
|
|
11
11
|
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
@@ -168,4 +168,4 @@ var VoiceMessageInput = function (_a) {
|
|
|
168
168
|
};
|
|
169
169
|
|
|
170
170
|
export { VoiceMessageInputStatus as V, VoiceMessageInput as a };
|
|
171
|
-
//# sourceMappingURL=index-
|
|
171
|
+
//# sourceMappingURL=index-214a28eb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-71682b33.js","sources":["../src/ui/VoiceMessageInput/types.ts","../src/ui/VoiceMessageInput/controlerIcons.tsx","../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","LabelColors","ONBACKGROUND_4","ONCONTENT_1","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-214a28eb.js","sources":["../src/ui/VoiceMessageInput/types.ts","../src/ui/VoiceMessageInput/controlerIcons.tsx","../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["export const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_a","inputState","React","IconTypes","PLAY","IconColors","ON_BACKGROUND_1","VoiceMessageInput","_b","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","_c","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","_d","useState","lastClickTime","setLastClickTime","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","LabelColors","ONBACKGROUND_4","ONCONTENT_1","LabelTypography","BUTTON_1","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":";;;;;;;;;AAAO,IAAMA,uBAAuB,GAAG;AACrCC,EAAAA,eAAe,EAAE,iBADoB;AAErCC,EAAAA,SAAS,EAAE,WAF0B;AAGrCC,EAAAA,aAAa,EAAE,eAHsB;AAIrCC,EAAAA,OAAO,EAAE,SAAA;AAJ4B;;ACShC,IAAMC,aAAa,GAAG,UAACC,EAAD,EAER;AADnB,EAAA,IAAAC,UAAU,GAAAD,EAAA,CAAAC,UAAV,CAAA;;AAEA,EAAA,QAAQA,UAAR;IACE,KAAKP,uBAAuB,CAACC,eAA7B;AAA8C,MAAA;QAC5C,oBACEO,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,qCAAA;SADjB,CAAA,CAAA;AAGD,OAAA;;IACD,KAAKR,uBAAuB,CAACE,SAA7B;AAAwC,MAAA;QACtC,oBACEM,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,mCAAA;SADjB,CAAA,CAAA;AAGD,OAAA;;IACD,KAAKR,uBAAuB,CAACG,aAA7B;AAA4C,MAAA;AAC1C,QAAA,oBACEK,6BAAC,IAAD,EAAA;AACE,UAAA,SAAS,EAAC,mCADZ;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;UAIE,IAAI,EAAEC,SAAS,CAACC,IAJlB;UAKE,SAAS,EAAEC,UAAU,CAACC,eAAAA;SAN1B,CAAA,CAAA;AASD,OAAA;;IACD,KAAKZ,uBAAuB,CAACI,OAA7B;AAAsC,MAAA;QACpC,oBACEI,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,oCAAA;SACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,0CAAA;AAAf,SAAA,CADF,eAEEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,0CAAA;AAAf,SAAA,CAFF,CADF,CAAA;AAMD,OAAA;;AACD,IAAA;AACE,MAAA,OAAO,IAAP,CAAA;AA/BJ,GAAA;AAiCD,CApCM;;ACiBMK,IAAAA,iBAAiB,GAAG,UAACP,EAAD,EAWR;AAVvB,EAAA,IAAAQ,EAAA,GAAAR,EAAA,CAAAS,aAAA;MAAAA,aAAa,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAAE,0BAAA,KAAhB;AAAA,MACAC,YAAY,GAAAX,EAAA,CAAAW,YADZ;AAAA,MAEAC,oBAFA;MAEAC,YAAY,GAAGD,EAAA,KAAA,KAAA,CAAA,GAAA,CAAA,KAFf;AAAA,MAGAE,WAAW,GAAAd,EAAA,CAAAc,WAHX;AAAA,MAIAC,aAAa,GAAAf,EAAA,CAAAe,aAJb;AAAA,MAKAC,cAAc,GAAAhB,EAAA,CAAAgB,cALd;AAAA,MAMAC,aAAa,GAAAjB,EAAA,CAAAiB,aANb;AAAA,MAOAC,kBAAkB,wBAPlB;AAAA,MAQAC,mBAAmB,GAAAnB,EAAA,CAAAmB,mBARnB;AAAA,MASAC,kBAAkB,GAAApB,EAAA,CAAAoB,kBATlB,CAAA;;AAWM,EAAA,IAAAC,EAAA,GAAoCC,QAAQ,CAAS,CAAT,CAA5C;AAAA,MAACC,aAAa,GAAAF,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgBG,gBAAgB,GAAAH,EAAA,CAAA,CAAA,CAAhC,CAAA;;AACN,EAAA,IAAMI,eAAe,GAAGC,OAAO,CAAC,YAAM;AAAA,IAAA,OAAAZ,WAAW,KAAKpB,uBAAuB,CAACC,eAAxC,CAAA;AAAuD,GAA9D,EAAgE,CAACmB,WAAD,CAAhE,CAA/B,CAAA;AACA,EAAA,IAAMa,WAAW,GAAGD,OAAO,CAAC,YAAM;AAAA,IAAA,OAAAZ,WAAW,KAAKpB,uBAAuB,CAACE,SAAxC,CAAA;AAAiD,GAAxD,EAA0D,CAACkB,WAAD,CAA1D,CAA3B,CAAA;AACA,EAAA,IAAMc,oBAAoB,GAAGF,OAAO,CAAC,YAAA;IACnC,IAAIZ,WAAW,KAAKpB,uBAAuB,CAACC,eAAxC,IACCmB,WAAW,KAAKpB,uBAAuB,CAACE,SAD7C,EAEE;MACA,OAAOa,aAAa,GAAGI,YAAvB,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,KAAP,CAAA;GANkC,EAOjC,CAACC,WAAD,EAAcL,aAAd,EAA6BI,YAA7B,CAPiC,CAApC,CAAA;AAQA,EAAA,IAAMgB,UAAU,GAAGH,OAAO,CAAC,YAAA;IACzB,OACEZ,WAAW,KAAKpB,uBAAuB,CAACG,aAAxC,IACGiB,WAAW,KAAKpB,uBAAuB,CAACI,OAF7C,CAAA;AAID,GALyB,EAKvB,CAACgB,WAAD,CALuB,CAA1B,CAAA;AAMQ,EAAA,IAAAgB,SAAS,GAAKC,eAAe,EAAA,UAA7B,CAAA;;EAER,IAAMC,mBAAmB,GAAG,YAAA;AAC1B,IAAA,IAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClErB,aAAa,EAAA,CAAA;MACbS,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;GALH,CAAA;;AAOA,EAAA,IAAMI,oBAAoB,GAAGC,WAAW,CAAC,YAAA;AACvC,IAAA,IAAML,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClEpB,cAAc,CAACF,WAAD,CAAd,CAAA;MACAU,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;AACF,GANuC,EAMrC,CAACnB,WAAD,CANqC,CAAxC,CAAA;;EAOA,IAAMyB,mBAAmB,GAAG,YAAA;AAC1B,IAAA,IAAMN,WAAW,GAAGC,IAAI,CAACC,GAAL,EAApB,CAAA;;AACA,IAAA,IAAIF,WAAW,GAAGV,aAAd,GAA8Ba,gCAAlC,EAAoE;MAClE,IAAI,CAACR,oBAAL,EAA2B;QACzBX,aAAa,EAAA,CAAA;AACd,OAAA;;MACDO,gBAAgB,CAACS,WAAD,CAAhB,CAAA;AACD,KAAA;GAPH,CAAA;;EAUA,oBACE/B,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,8BAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;GACb,eAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,uDAAA;AAAf,GAAA,eACEA,6BAAC,WAAD,EAAA;AACE,IAAA,SAAS,EAAC,4DADZ;AAEE,IAAA,QAAQ,EAAEuB,eAFZ;AAGE,IAAA,OAAO,EAAEd,YAHX;AAIE,IAAA,WAAW,EAAEE,YAAAA;GALjB,CAAA,CADF,EASIc,WAAD,gBAAiBzB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,iDAAA;AAAf,GAAA,CAAjB,GAAwF,IAT3F,eAUEA,cAAA,CAAA,aAAA,CAAC,YAAD,EAAA;AACE,IAAA,SAAS,EAAC,wDADZ;AAEE,IAAA,IAAI,EAAE2B,UAAU,GAAGlB,YAAY,GAAGE,YAAlB,GAAiCA,YAFnD;IAGE,UAAU,EAAEY,eAAe,GAAGe,WAAW,CAACC,cAAf,GAAgCD,WAAW,CAACE,WAAAA;AAHzE,GAAA,CAVF,CADF,eAiBExC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,yCAAA;AAAf,GAAA,EAEI,CAAAgB,kBAAkB,KAAlB,IAAA,IAAAA,kBAAkB,WAAlB,SAAA,GAAAA,kBAAkB,EAAlB,kBACEhB,6BAAC,UAAD,EAAA;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,OAAO,EAAE8B,mBAFX;IAGE,gBAAgB,EAAA,IAAA;AAHlB,GAAA,eAKE9B,6BAAC,KAAD,EAAA;IACE,IAAI,EAAEyC,eAAe,CAACC,QADxB;IAEE,KAAK,EAAEJ,WAAW,CAACK,OAAAA;GAElBf,EAAAA,SAAS,CAACgB,cAJb,CALF,CAHN,EAkBI,CAAA3B,mBAAmB,KAAnB,IAAA,IAAAA,mBAAmB,WAAnB,SAAA,GAAAA,mBAAmB,CAAGL,WAAH,CAAnB,kBACEZ,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAS,EAAC,+CADZ;AAEE,IAAA,OAAO,EAAEmC,oBAAAA;AAFX,GAAA,eAIEnC,6BAAC,aAAD,EAAA;AAAe,IAAA,UAAU,EAAEY,WAAAA;AAA3B,GAAA,CAJF,CAnBN,EA4BI,CAAAM,kBAAkB,KAAlB,IAAA,IAAAA,kBAAkB,WAAlB,SAAA,GAAAA,kBAAkB,EAAlB,kBACElB,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IACE,SAAS,EAAE,mDAAA6C,MAAA,CAAmDnB,oBAAoB,GAAG,yBAAH,GAA+B,EAAtG,CADb;AAEE,IAAA,OAAO,EAAEW,mBAAAA;AAFX,GAAA,eAIErC,6BAAC,IAAD,EAAA;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;IAGE,IAAI,EAAEC,SAAS,CAAC6C,IAHlB;IAIE,SAAS,EAAEpB,oBAAoB,GAAGvB,UAAU,CAAC4C,eAAd,GAAgC5C,UAAU,CAAC6C,OAAAA;GAR9E,CAAA,CA7BN,CAjBF,CADF,CAAA;AA+DD;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as requiredArgs, t as toDate } from './index-
|
|
1
|
+
import { r as requiredArgs, t as toDate } from './index-8259be1c.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @name startOfDay
|
|
@@ -63,4 +63,4 @@ function isSameDay(dirtyDateLeft, dirtyDateRight) {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export { isSameDay as i };
|
|
66
|
-
//# sourceMappingURL=index-
|
|
66
|
+
//# sourceMappingURL=index-42429d4a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-42429d4a.js","sources":["../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/isSameDay/index.js"],"sourcesContent":["import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}"],"names":[],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,UAAU,CAAC,SAAS,EAAE;AAC9C,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,EAAE,OAAO,IAAI,CAAC;AACd;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE;AACjE,EAAE,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACrD,EAAE,IAAI,mBAAmB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACvD,EAAE,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACxE;;;;"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { a as __spreadArray } from './tslib.es6-
|
|
1
|
+
import { a as __spreadArray } from './tslib.es6-21874629.js';
|
|
2
2
|
import React__default, { useContext, useState, useEffect, useRef, useCallback } from 'react';
|
|
3
3
|
import Button, { ButtonTypes, ButtonSizes } from './ui/Button.js';
|
|
4
4
|
import ContextMenu, { MenuItems, MenuItem } from './ui/ContextMenu.js';
|
|
5
5
|
import Icon, { IconTypes, IconColors } from './ui/Icon.js';
|
|
6
6
|
import IconButton from './ui/IconButton.js';
|
|
7
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from './index-
|
|
8
|
-
import { a as LocalizationContext } from './LocalizationContext-
|
|
9
|
-
import { a as UserProfileContext } from './UserProfileContext-
|
|
10
|
-
import './context-
|
|
7
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from './index-c52afc50.js';
|
|
8
|
+
import { a as LocalizationContext } from './LocalizationContext-a20f1269.js';
|
|
9
|
+
import { a as UserProfileContext } from './UserProfileContext-2ee4427e.js';
|
|
10
|
+
import './context-ab07b150.js';
|
|
11
11
|
import Avatar from './ui/Avatar.js';
|
|
12
12
|
import 'react-dom';
|
|
13
13
|
import UserProfile from './ui/UserProfile.js';
|
|
14
14
|
import '@sendbird/chat/openChannel';
|
|
15
15
|
import Modal from './ui/Modal.js';
|
|
16
16
|
import UserListItem$1 from './ui/UserListItem.js';
|
|
17
|
-
import { n as noop } from './utils-
|
|
17
|
+
import { n as noop } from './utils-369f1bd4.js';
|
|
18
18
|
import { useOpenChannelSettingsContext } from './OpenChannelSettings/context.js';
|
|
19
19
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
20
20
|
|
|
@@ -350,4 +350,4 @@ function ParticipantList(_a) {
|
|
|
350
350
|
}
|
|
351
351
|
|
|
352
352
|
export { ParticipantList as P, UserListItem as U };
|
|
353
|
-
//# sourceMappingURL=index-
|
|
353
|
+
//# sourceMappingURL=index-534f3471.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-b498f4df.js","sources":["../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n {\n participants.map((p) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n )\n })\n }\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: User;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n { action({ actionRef }) }\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: User) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n })\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n )\n}\n"],"names":["ParticipantsModal","_a","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","_e","useState","participants","setParticipants","_f","participantListQuery","setParticipantListQuery","userId","_b","config","sdk","_d","_c","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","currentUser","actionRef","parentRef","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","user","action","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","currentUserId","close","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","concat","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-534f3471.js","sources":["../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { noop } from '../../../../utils/utils';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface Props {\n onCancel(): void;\n}\n\nexport default function ParticipantsModal({\n onCancel,\n}: Props): ReactElement {\n const state = useSendbirdStateContext();\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>([]);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const userId = state?.config?.userId;\n const sdk = state?.stores?.sdkStore?.sdk;\n const isOperatorView = channel?.isOperator(userId);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, []);\n return (\n <div>\n <Modal\n hideFooter\n isFullScreenOnMobile\n onCancel={() => onCancel()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n <div\n className=\"sendbird-more-members__popup-scroll\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n {\n participants.map((p) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n key={p.userId}\n currentUser={sdk?.currentUser?.userId}\n action={\n (userId !== p.userId && isOperatorView)\n ? ({ actionRef, parentRef }) => (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-user-message__more__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentContainRef={parentRef}\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n });\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n }\n />\n )\n })\n }\n </div>\n </Modal>\n </div>\n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: User;\n currentUser?: string;\n isOperator?: boolean;\n action?(props: ActionProps): ReactElement;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n user,\n currentUser,\n isOperator,\n action,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const actionRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: '0px', paddingBottom: '0px' }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={user}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label\n className=\"sendbird-participants-accordion__member__title\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__YOU\n )\n }\n </Label>\n { // if there is now nickname, display userId\n !user.nickname && (\n <Label\n className=\"sendbird-participants-accordion__member__title user-id\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {user.userId}\n </Label>\n )\n }\n {\n isOperator && (\n <Label\n className={\n `sendbird-participants-accordion__member__title\n ${user?.userId !== currentUser ? 'operator' : ''}\n ${user?.userId === currentUser ? 'self-operator' : ''}\n `\n }\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR}\n </Label>\n )\n }\n {\n action && (\n <div\n className=\"sendbird-participants-accordion__member__action\"\n ref={actionRef}\n >\n { action({ actionRef }) }\n </div>\n )\n }\n </div>\n );\n};\n\nexport interface ParticipantsAccordionProps {\n maxMembers?: number;\n}\n\nexport default function ParticipantsAccordion(props: ParticipantsAccordionProps): ReactElement {\n const maxMembers = props?.maxMembers || SHOWN_MEMBER_MAX;\n const { channel } = useOpenChannelSettingsContext();\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n useCallback,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport IconButton from '../../../../ui/IconButton';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport ParticipantsModal from './ParticipantsModal';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\ninterface ParticipantListProps {\n isOperatorView?: boolean;\n}\n\nexport default function ParticipantList({\n isOperatorView = false,\n}: ParticipantListProps): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUserId = globalState?.config?.userId;\n const { channel } = useOpenChannelSettingsContext();\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState<Array<User> | null>(null);\n const [participantListQuery, setParticipantListQuery] = useState<ParticipantListQuery | null>(null);\n const [showParticipantsModal, setShowParticipantsModal] = useState<boolean>(false);\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n setParticipantListQuery(participantListQuery);\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n const refreshList = useCallback(() => {\n if (!channel) {\n setParticipants([]);\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({ limit: 10 });\n participantListQuery.next().then((participants) => {\n setParticipants(participants);\n });\n }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participant-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants?.map((p: User) => {\n const isOperator = channel?.isOperator(p.userId);\n return (\n <UserListItem\n user={p}\n currentUser={currentUserId}\n key={p.userId}\n isOperator={isOperator}\n action={({ actionRef }) => (\n (isOperatorView && currentUserId !== p?.userId)\n ? (\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <IconButton\n className=\"sendbird-openchannel-participant-list__menu\"\n width=\"32px\"\n height=\"32px\"\n onClick={toggleDropdown}\n >\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.MORE}\n fillColor={IconColors.CONTENT_INVERSE}\n />\n </IconButton>\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n parentRef={actionRef}\n closeDropdown={closeDropdown}\n openLeft\n >\n <MenuItem\n onClick={() => {\n if (isOperator) {\n channel?.removeOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n refreshList();\n closeDropdown();\n })\n }\n }}\n >\n {\n isOperator\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.muteUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE}\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n refreshList();\n closeDropdown();\n });\n }}\n >\n {stringSet.OPEN_CHANNEL_SETTING__MODERATION__BAN}\n </MenuItem>\n </MenuItems>\n )}\n />\n )\n : null\n )}\n />\n );\n })\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ) : null\n }\n <div className=\"sendbird-openchannel-participant-list__footer\">\n {\n participantListQuery?.hasNext && (\n <Button\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowParticipantsModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n </Button>\n )\n }\n </div>\n {\n showParticipantsModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowParticipantsModal(false);\n refreshList();\n }}\n />\n )\n }\n </div>\n </div>\n )\n}\n"],"names":["ParticipantsModal","_a","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","_e","useState","participants","setParticipants","_f","participantListQuery","setParticipantListQuery","userId","_b","config","sdk","_d","_c","stores","sdkStore","isOperatorView","isOperator","useEffect","createParticipantListQuery","next","then","participantList","React","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","currentUser","actionRef","parentRef","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","removeOperators","addOperators","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","muteUser","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","user","action","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","currentUserId","close","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","concat","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL"],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import React__default, { useMemo, useRef, useContext, useState } from 'react';
|
|
2
2
|
import Modal from './ui/Modal.js';
|
|
3
|
-
import { a as LocalizationContext } from './LocalizationContext-
|
|
3
|
+
import { a as LocalizationContext } from './LocalizationContext-a20f1269.js';
|
|
4
4
|
import useSendbirdStateContext from './useSendbirdStateContext.js';
|
|
5
5
|
import Input, { InputLabel } from './ui/Input.js';
|
|
6
6
|
import Avatar from './ui/Avatar.js';
|
|
7
7
|
import Icon, { IconTypes } from './ui/Icon.js';
|
|
8
8
|
import { ButtonTypes } from './ui/Button.js';
|
|
9
|
-
import { L as Label, a as LabelTypography, b as LabelColors } from './index-
|
|
9
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from './index-c52afc50.js';
|
|
10
10
|
import TextButton from './ui/TextButton.js';
|
|
11
|
-
import { n as noop } from './utils-
|
|
12
|
-
import { U as UPDATE_USER_INFO } from './actionTypes-
|
|
11
|
+
import { n as noop } from './utils-369f1bd4.js';
|
|
12
|
+
import { U as UPDATE_USER_INFO } from './actionTypes-66152bd7.js';
|
|
13
13
|
|
|
14
14
|
var EditUserProfileProviderContext = /*#__PURE__*/React__default.createContext(undefined);
|
|
15
15
|
|
|
@@ -169,4 +169,4 @@ function EditUserProfile() {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
export { EditUserProfileProvider as E, EditUserProfile as a };
|
|
172
|
-
//# sourceMappingURL=index-
|
|
172
|
+
//# sourceMappingURL=index-6438ded6.js.map
|