@sendbird/uikit-react 3.7.0-rc.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +52 -52
- package/Channel/components/ChannelHeader.js +22 -22
- package/Channel/components/ChannelUI.js +46 -46
- package/Channel/components/FileViewer.js +19 -19
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +42 -42
- package/Channel/components/MessageInput.js +33 -33
- package/Channel/components/MessageList.js +42 -42
- package/Channel/components/RemoveMessageModal.js +23 -23
- package/Channel/components/SuggestedMentionList.js +19 -19
- package/Channel/components/TypingIndicator.js +18 -18
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/context.js +15 -15
- package/Channel/utils/compareMessagesForGrouping.js +6 -6
- package/Channel/utils/getMessagePartsInfo.js +7 -7
- package/Channel.js +46 -46
- package/ChannelList/components/AddChannel.js +16 -16
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +32 -32
- package/ChannelList/components/ChannelPreview.js +30 -30
- package/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/ChannelList/context.js +8 -8
- package/ChannelList.js +32 -32
- package/{ChannelListProvider-f520f5b3.js → ChannelListProvider-eccd99c6.js} +8 -8
- package/{ChannelListProvider-f520f5b3.js.map → ChannelListProvider-eccd99c6.js.map} +1 -1
- package/{ChannelProvider-7f6fd1f8.js → ChannelProvider-9ba5893a.js} +42 -43
- package/ChannelProvider-9ba5893a.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +14 -14
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +14 -14
- package/ChannelSettings/components/LeaveChannel.js +13 -13
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +3 -3
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-c25dd81b.js → CreateChannelProvider-a2885972.js} +1 -1
- package/{CreateChannelProvider-c25dd81b.js.map → CreateChannelProvider-a2885972.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +12 -12
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-d18a86d8.js → LocalizationContext-287ee149.js} +3 -3
- package/{LocalizationContext-d18a86d8.js.map → LocalizationContext-287ee149.js.map} +1 -1
- package/{MediaQueryContext-3eeeec4f.js → MediaQueryContext-114ca049.js} +1 -1
- package/{MediaQueryContext-3eeeec4f.js.map → MediaQueryContext-114ca049.js.map} +1 -1
- package/{MemberList-469dae9b.js → MemberList-4e71a841.js} +7 -7
- package/{MemberList-469dae9b.js.map → MemberList-4e71a841.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +12 -12
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +12 -12
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +11 -11
- package/OpenChannel/components/OpenChannelInput.js +21 -21
- package/OpenChannel/components/OpenChannelMessage.js +32 -32
- package/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/OpenChannel/components/OpenChannelUI.js +34 -34
- package/OpenChannel/context.js +7 -7
- package/OpenChannel.js +34 -34
- package/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/OpenChannelList/context.js +2 -2
- package/OpenChannelList.js +14 -14
- package/{OpenChannelListProvider-24e735a1.js → OpenChannelListProvider-45d4ab54.js} +2 -2
- package/{OpenChannelListProvider-24e735a1.js.map → OpenChannelListProvider-45d4ab54.js.map} +1 -1
- package/{OpenChannelProvider-e9cb0f98.js → OpenChannelProvider-9818f9ed.js} +6 -6
- package/{OpenChannelProvider-e9cb0f98.js.map → OpenChannelProvider-9818f9ed.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-f0cd37a5.js → RemoveMessageModal-007c2f04.js} +6 -6
- package/{RemoveMessageModal-f0cd37a5.js.map → RemoveMessageModal-007c2f04.js.map} +1 -1
- package/SendbirdProvider.js +18 -18
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +38 -38
- package/Thread/components/ParentMessageInfoItem.js +25 -25
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadList.js +42 -42
- package/Thread/components/ThreadListItem.js +42 -42
- package/Thread/components/ThreadMessageInput.js +33 -33
- package/Thread/components/ThreadUI.js +45 -45
- package/Thread/context.js +12 -10
- package/Thread/context.js.map +1 -1
- package/Thread.js +45 -45
- package/{UserProfileContext-26e71f9a.js → UserProfileContext-2001a468.js} +1 -1
- package/{UserProfileContext-26e71f9a.js.map → UserProfileContext-2001a468.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +12 -12
- package/VoiceRecorder/context.js +12 -12
- package/VoiceRecorder/useVoiceRecorder.js +11 -11
- package/{WebAudioUtils-dbb010a5.js → WebAudioUtils-31f7c8eb.js} +2 -2
- package/{WebAudioUtils-dbb010a5.js.map → WebAudioUtils-31f7c8eb.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-07dcbc2b.js → _rollupPluginBabelHelpers-e92eb032.js} +1 -1
- package/_rollupPluginBabelHelpers-e92eb032.js.map +1 -0
- package/{actionTypes-3cd49b5c.js → actionTypes-324495ed.js} +1 -1
- package/{actionTypes-3cd49b5c.js.map → actionTypes-324495ed.js.map} +1 -1
- package/cjs/App.js +52 -52
- package/cjs/Channel/components/ChannelHeader.js +22 -22
- package/cjs/Channel/components/ChannelUI.js +46 -46
- package/cjs/Channel/components/FileViewer.js +19 -19
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +42 -42
- package/cjs/Channel/components/MessageInput.js +33 -33
- package/cjs/Channel/components/MessageList.js +42 -42
- package/cjs/Channel/components/RemoveMessageModal.js +23 -23
- package/cjs/Channel/components/SuggestedMentionList.js +19 -19
- package/cjs/Channel/components/TypingIndicator.js +18 -18
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/context.js +15 -15
- package/cjs/Channel/utils/compareMessagesForGrouping.js +6 -6
- package/cjs/Channel/utils/getMessagePartsInfo.js +7 -7
- package/cjs/Channel.js +46 -46
- package/cjs/ChannelList/components/AddChannel.js +16 -16
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +32 -32
- package/cjs/ChannelList/components/ChannelPreview.js +30 -30
- package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/cjs/ChannelList/context.js +8 -8
- package/cjs/ChannelList.js +32 -32
- package/cjs/{ChannelListProvider-a418de2e.js → ChannelListProvider-d0ad5a84.js} +8 -8
- package/cjs/{ChannelListProvider-a418de2e.js.map → ChannelListProvider-d0ad5a84.js.map} +1 -1
- package/cjs/{ChannelProvider-7fa98120.js → ChannelProvider-fc111e5f.js} +42 -43
- package/cjs/ChannelProvider-fc111e5f.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +14 -14
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -14
- package/cjs/ChannelSettings/components/LeaveChannel.js +13 -13
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +3 -3
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-70c9cb7c.js → CreateChannelProvider-c3c843e4.js} +1 -1
- package/cjs/{CreateChannelProvider-70c9cb7c.js.map → CreateChannelProvider-c3c843e4.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +12 -12
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +12 -12
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-5009012e.js → LocalizationContext-58b6ed7c.js} +3 -3
- package/cjs/{LocalizationContext-5009012e.js.map → LocalizationContext-58b6ed7c.js.map} +1 -1
- package/cjs/{MediaQueryContext-d6fdbe43.js → MediaQueryContext-6141d955.js} +1 -1
- package/cjs/{MediaQueryContext-d6fdbe43.js.map → MediaQueryContext-6141d955.js.map} +1 -1
- package/cjs/{MemberList-529a0086.js → MemberList-2bd3db33.js} +7 -7
- package/cjs/{MemberList-529a0086.js.map → MemberList-2bd3db33.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +12 -12
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +11 -11
- package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
- package/cjs/OpenChannel/components/OpenChannelMessage.js +32 -32
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
- package/cjs/OpenChannel/context.js +7 -7
- package/cjs/OpenChannel.js +34 -34
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +14 -14
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +4 -4
- package/cjs/OpenChannelList/context.js +2 -2
- package/cjs/OpenChannelList.js +14 -14
- package/cjs/{OpenChannelListProvider-0b8cd3bf.js → OpenChannelListProvider-a8560978.js} +2 -2
- package/cjs/{OpenChannelListProvider-0b8cd3bf.js.map → OpenChannelListProvider-a8560978.js.map} +1 -1
- package/cjs/{OpenChannelProvider-d8cc11fe.js → OpenChannelProvider-39f13647.js} +6 -6
- package/cjs/{OpenChannelProvider-d8cc11fe.js.map → OpenChannelProvider-39f13647.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-f029d40e.js → RemoveMessageModal-afc3e268.js} +6 -6
- package/cjs/{RemoveMessageModal-f029d40e.js.map → RemoveMessageModal-afc3e268.js.map} +1 -1
- package/cjs/SendbirdProvider.js +18 -18
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +38 -38
- package/cjs/Thread/components/ParentMessageInfoItem.js +25 -25
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadList.js +42 -42
- package/cjs/Thread/components/ThreadListItem.js +42 -42
- package/cjs/Thread/components/ThreadMessageInput.js +33 -33
- package/cjs/Thread/components/ThreadUI.js +45 -45
- package/cjs/Thread/context.js +12 -10
- package/cjs/Thread/context.js.map +1 -1
- package/cjs/Thread.js +45 -45
- package/cjs/{UserProfileContext-922a43ec.js → UserProfileContext-c6d7abb7.js} +1 -1
- package/cjs/{UserProfileContext-922a43ec.js.map → UserProfileContext-c6d7abb7.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +12 -12
- package/cjs/VoiceRecorder/context.js +12 -12
- package/cjs/VoiceRecorder/useVoiceRecorder.js +11 -11
- package/cjs/{WebAudioUtils-29717597.js → WebAudioUtils-36803ab2.js} +2 -2
- package/cjs/{WebAudioUtils-29717597.js.map → WebAudioUtils-36803ab2.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-94c18dc1.js → _rollupPluginBabelHelpers-f5b0dfb9.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-f5b0dfb9.js.map +1 -0
- package/cjs/{actionTypes-7fa02f94.js → actionTypes-327123b5.js} +1 -1
- package/cjs/{actionTypes-7fa02f94.js.map → actionTypes-327123b5.js.map} +1 -1
- package/cjs/{color-477ddbd4.js → color-5bf5a8f5.js} +1 -1
- package/cjs/{color-477ddbd4.js.map → color-5bf5a8f5.js.map} +1 -1
- package/cjs/{compareIds-de541666.js → compareIds-28c6af62.js} +1 -1
- package/cjs/{compareIds-de541666.js.map → compareIds-28c6af62.js.map} +1 -1
- package/cjs/{const-640252c1.js → const-876980e8.js} +1 -1
- package/cjs/{const-640252c1.js.map → const-876980e8.js.map} +1 -1
- package/cjs/{const-9def5c09.js → const-c9e7a340.js} +1 -1
- package/cjs/{const-9def5c09.js.map → const-c9e7a340.js.map} +1 -1
- package/cjs/{consts-a3b7ae99.js → consts-61d83828.js} +1 -1
- package/cjs/{consts-a3b7ae99.js.map → consts-61d83828.js.map} +1 -1
- package/cjs/{consts-54f5c12d.js → consts-b3c4f548.js} +1 -1
- package/cjs/{consts-54f5c12d.js.map → consts-b3c4f548.js.map} +1 -1
- package/cjs/{consts-85cd42fa.js → consts-b711321c.js} +1 -1
- package/cjs/{consts-85cd42fa.js.map → consts-b711321c.js.map} +1 -1
- package/cjs/{consts-95462b21.js → consts-f54b15c2.js} +1 -1
- package/cjs/{consts-95462b21.js.map → consts-f54b15c2.js.map} +1 -1
- package/cjs/{context-9814fafe.js → context-6684538e.js} +2 -2
- package/cjs/{context-9814fafe.js.map → context-6684538e.js.map} +1 -1
- package/cjs/dist/index.css +55 -55
- package/cjs/dist/index.css.map +1 -1
- package/cjs/hooks/useModal.js +11 -11
- package/cjs/{index-826b76d5.js → index-134e9852.js} +2 -2
- package/cjs/{index-826b76d5.js.map → index-134e9852.js.map} +1 -1
- package/cjs/{index-b6d51e74.js → index-3448df64.js} +2 -2
- package/cjs/{index-b6d51e74.js.map → index-3448df64.js.map} +1 -1
- package/cjs/{index-80a11b6a.js → index-45933be9.js} +2 -2
- package/cjs/{index-80a11b6a.js.map → index-45933be9.js.map} +1 -1
- package/cjs/{index-ee3bf381.js → index-4c378655.js} +4 -4
- package/cjs/{index-ee3bf381.js.map → index-4c378655.js.map} +1 -1
- package/cjs/{index-6b0644d7.js → index-4e939c26.js} +9 -9
- package/cjs/{index-6b0644d7.js.map → index-4e939c26.js.map} +1 -1
- package/cjs/{index-aeb36f01.js → index-520e12b8.js} +7 -7
- package/cjs/{index-aeb36f01.js.map → index-520e12b8.js.map} +1 -1
- package/cjs/{index-609b07a2.js → index-54279ec2.js} +1 -1
- package/cjs/{index-609b07a2.js.map → index-54279ec2.js.map} +1 -1
- package/cjs/{index-c22e0cbf.js → index-692ea6aa.js} +2 -2
- package/cjs/{index-c22e0cbf.js.map → index-692ea6aa.js.map} +1 -1
- package/cjs/{index-83d2aed9.js → index-7627b546.js} +3 -3
- package/cjs/{index-83d2aed9.js.map → index-7627b546.js.map} +1 -1
- package/cjs/{index-0ec5a831.js → index-a95c4ab4.js} +3 -3
- package/cjs/{index-0ec5a831.js.map → index-a95c4ab4.js.map} +1 -1
- package/cjs/{index-35820a94.js → index-b5a9b4b7.js} +2 -2
- package/cjs/{index-35820a94.js.map → index-b5a9b4b7.js.map} +1 -1
- package/cjs/{index-daf80c58.js → index-b8ba4548.js} +1 -1
- package/cjs/{index-daf80c58.js.map → index-b8ba4548.js.map} +1 -1
- package/cjs/{index-7b0c6630.js → index-bc6623d7.js} +11 -11
- package/cjs/{index-7b0c6630.js.map → index-bc6623d7.js.map} +1 -1
- package/cjs/{index-bdf7089c.js → index-cc2e05a4.js} +5 -5
- package/cjs/{index-bdf7089c.js.map → index-cc2e05a4.js.map} +1 -1
- package/cjs/{index-e81e2882.js → index-ce07a2a3.js} +4 -4
- package/cjs/{index-e81e2882.js.map → index-ce07a2a3.js.map} +1 -1
- package/cjs/{index-b995f638.js → index-dbe8dd84.js} +3 -3
- package/cjs/{index-b995f638.js.map → index-dbe8dd84.js.map} +1 -1
- package/cjs/{index-0a25b9b2.js → index-e5e6d9b0.js} +4 -4
- package/cjs/{index-0a25b9b2.js.map → index-e5e6d9b0.js.map} +1 -1
- package/cjs/{index-fd8a0abb.js → index-e8928da6.js} +1 -1
- package/cjs/{index-fd8a0abb.js.map → index-e8928da6.js.map} +1 -1
- package/cjs/index.js +56 -56
- package/cjs/{resolvedReplyType-c20ef661.js → resolvedReplyType-c4564ebe.js} +1 -1
- package/cjs/{resolvedReplyType-c20ef661.js.map → resolvedReplyType-c4564ebe.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +1 -1
- package/cjs/{stringFormatterUtils-e324636c.js → stringFormatterUtils-92dbef3c.js} +3 -3
- package/cjs/{stringFormatterUtils-e324636c.js.map → stringFormatterUtils-92dbef3c.js.map} +1 -1
- package/cjs/{stringSet-98b52c49.js → stringSet-1539ac47.js} +1 -1
- package/cjs/{stringSet-98b52c49.js.map → stringSet-1539ac47.js.map} +1 -1
- package/cjs/{tokenize-91bdbeb0.js → tokenize-d5286fa8.js} +3 -3
- package/cjs/{tokenize-91bdbeb0.js.map → tokenize-d5286fa8.js.map} +1 -1
- package/cjs/{tslib.es6-2f2b0bca.js → tslib.es6-c74b513f.js} +1 -1
- package/cjs/{tslib.es6-2f2b0bca.js.map → tslib.es6-c74b513f.js.map} +1 -1
- package/cjs/{types-66554668.js → types-d0d770c3.js} +1 -1
- package/cjs/{types-66554668.js.map → types-d0d770c3.js.map} +1 -1
- package/cjs/{types-31ed2276.js → types-feda9656.js} +1 -1
- package/cjs/{types-31ed2276.js.map → types-feda9656.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 +6 -6
- package/cjs/ui/Button.js +4 -4
- package/cjs/ui/ChannelAvatar.js +3 -3
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -6
- package/cjs/ui/DateSeparator.js +4 -4
- package/cjs/ui/EmojiReactions.js +15 -15
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileViewer.js +14 -14
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/ImageRenderer.js +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/Loader.js +1 -1
- package/cjs/ui/MentionLabel.js +11 -11
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +37 -37
- package/cjs/ui/MessageInput/hooks/usePaste.js +5 -5
- package/cjs/ui/MessageInput.js +16 -16
- package/cjs/ui/MessageItemMenu.js +19 -19
- package/cjs/ui/MessageItemReactionMenu.js +10 -10
- package/cjs/ui/MessageSearchFileItem.js +12 -12
- package/cjs/ui/MessageSearchItem.js +9 -9
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/Modal.js +10 -10
- package/cjs/ui/OGMessageItemBody.js +14 -14
- 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 +17 -17
- package/cjs/ui/OpenchannelOGMessage.js +19 -19
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelUserMessage.js +17 -17
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +8 -8
- package/cjs/ui/QuoteMessageInput.js +8 -8
- package/cjs/ui/ReactionBadge.js +3 -3
- package/cjs/ui/ReactionButton.js +5 -5
- package/cjs/ui/SortByRow.js +2 -2
- package/cjs/ui/TextButton.js +2 -2
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +6 -6
- package/cjs/ui/ThumbnailMessageItemBody.js +8 -8
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +3 -3
- package/cjs/ui/TooltipWrapper.js +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +7 -7
- package/cjs/ui/UserListItem.js +11 -11
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +12 -12
- package/cjs/ui/VoiceMessgeInput.js +8 -8
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useHandleUploadFiles-fbe6ad64.js → useHandleUploadFiles-39e8d107.js} +11 -11
- package/cjs/{useHandleUploadFiles-fbe6ad64.js.map → useHandleUploadFiles-39e8d107.js.map} +1 -1
- package/cjs/{useLongPress-c1da8ba7.js → useLongPress-18b7af79.js} +3 -3
- package/cjs/{useLongPress-c1da8ba7.js.map → useLongPress-18b7af79.js.map} +1 -1
- package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js → useSendMultipleFilesMessage-d6a3d5cf.js} +3 -3
- package/cjs/{useSendMultipleFilesMessage-87e0ffa3.js.map → useSendMultipleFilesMessage-d6a3d5cf.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/{useStatefulFileInfoList-aa70b6b9.js → useStatefulFileInfoList-c510792f.js} +4 -4
- package/cjs/{useStatefulFileInfoList-aa70b6b9.js.map → useStatefulFileInfoList-c510792f.js.map} +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -3
- package/cjs/{utils-46483130.js → utils-1d0f1e0c.js} +1 -1
- package/cjs/{utils-46483130.js.map → utils-1d0f1e0c.js.map} +1 -1
- package/cjs/{utils-55fc6797.js → utils-9193a195.js} +4 -4
- package/cjs/{utils-55fc6797.js.map → utils-9193a195.js.map} +1 -1
- package/cjs/{utils-851724e0.js → utils-93ca9d57.js} +3 -3
- package/cjs/{utils-851724e0.js.map → utils-93ca9d57.js.map} +1 -1
- package/cjs/{utils-e313131f.js → utils-98441ba6.js} +1 -1
- package/cjs/{utils-e313131f.js.map → utils-98441ba6.js.map} +1 -1
- package/cjs/{utils-0fac6ad1.js → utils-e6c4b2b0.js} +2 -2
- package/cjs/{utils-0fac6ad1.js.map → utils-e6c4b2b0.js.map} +1 -1
- package/cjs/{utils-180c6bc8.js → utils-eb6d90e0.js} +1 -1
- package/cjs/{utils-180c6bc8.js.map → utils-eb6d90e0.js.map} +1 -1
- package/cjs/{uuid-c74bbbb6.js → uuid-9a117e16.js} +1 -1
- package/cjs/{uuid-c74bbbb6.js.map → uuid-9a117e16.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-1383d4ab.js → color-57373b4c.js} +1 -1
- package/{color-1383d4ab.js.map → color-57373b4c.js.map} +1 -1
- package/{compareIds-b56b02f1.js → compareIds-7e517404.js} +1 -1
- package/{compareIds-b56b02f1.js.map → compareIds-7e517404.js.map} +1 -1
- package/{const-e3326913.js → const-73db0277.js} +1 -1
- package/{const-e3326913.js.map → const-73db0277.js.map} +1 -1
- package/{const-4bc3721f.js → const-93731a4c.js} +1 -1
- package/{const-4bc3721f.js.map → const-93731a4c.js.map} +1 -1
- package/{consts-f0ba9b80.js → consts-4ec7d640.js} +1 -1
- package/{consts-f0ba9b80.js.map → consts-4ec7d640.js.map} +1 -1
- package/{consts-7f4d53a3.js → consts-57c888b9.js} +1 -1
- package/{consts-7f4d53a3.js.map → consts-57c888b9.js.map} +1 -1
- package/{consts-833420ed.js → consts-be37687e.js} +1 -1
- package/{consts-833420ed.js.map → consts-be37687e.js.map} +1 -1
- package/{consts-aa64aca8.js → consts-d9c5f25a.js} +1 -1
- package/{consts-aa64aca8.js.map → consts-d9c5f25a.js.map} +1 -1
- package/{context-ae47ac54.js → context-729493c4.js} +2 -2
- package/{context-ae47ac54.js.map → context-729493c4.js.map} +1 -1
- package/dist/index.css +55 -55
- package/dist/index.css.map +1 -1
- package/hooks/useModal.js +11 -11
- package/{index-c7ed4aef.js → index-04bd1a59.js} +1 -1
- package/{index-c7ed4aef.js.map → index-04bd1a59.js.map} +1 -1
- package/{index-c6095960.js → index-09847c0f.js} +1 -1
- package/{index-c6095960.js.map → index-09847c0f.js.map} +1 -1
- package/{index-7a1085b6.js → index-0f017704.js} +11 -11
- package/{index-7a1085b6.js.map → index-0f017704.js.map} +1 -1
- package/{index-c81fd6ec.js → index-2d27aeef.js} +2 -2
- package/{index-c81fd6ec.js.map → index-2d27aeef.js.map} +1 -1
- package/{index-ec0c048b.js → index-493689bd.js} +4 -4
- package/{index-ec0c048b.js.map → index-493689bd.js.map} +1 -1
- package/{index-1969ccd8.js → index-494f9e79.js} +2 -2
- package/{index-1969ccd8.js.map → index-494f9e79.js.map} +1 -1
- package/{index-942c5fa2.js → index-4b4e9682.js} +7 -7
- package/{index-942c5fa2.js.map → index-4b4e9682.js.map} +1 -1
- package/{index-89b3b8ba.js → index-62d5f020.js} +9 -9
- package/{index-89b3b8ba.js.map → index-62d5f020.js.map} +1 -1
- package/{index-1432c287.js → index-682a192c.js} +2 -2
- package/{index-1432c287.js.map → index-682a192c.js.map} +1 -1
- package/{index-8c72f0bd.js → index-686a551d.js} +2 -2
- package/{index-8c72f0bd.js.map → index-686a551d.js.map} +1 -1
- package/{index-40447645.js → index-6b3b1eca.js} +5 -5
- package/{index-40447645.js.map → index-6b3b1eca.js.map} +1 -1
- package/{index-fc1642cb.js → index-776554c0.js} +3 -3
- package/{index-fc1642cb.js.map → index-776554c0.js.map} +1 -1
- package/{index-12103973.js → index-92741c7e.js} +2 -2
- package/{index-12103973.js.map → index-92741c7e.js.map} +1 -1
- package/{index-3d508585.js → index-a0638563.js} +4 -4
- package/{index-3d508585.js.map → index-a0638563.js.map} +1 -1
- package/{index-eec0ce47.js → index-c22e4772.js} +4 -4
- package/{index-eec0ce47.js.map → index-c22e4772.js.map} +1 -1
- package/{index-124a5766.js → index-e04159fe.js} +3 -3
- package/{index-124a5766.js.map → index-e04159fe.js.map} +1 -1
- package/{index-d3f61405.js → index-e4277f9c.js} +1 -1
- package/{index-d3f61405.js.map → index-e4277f9c.js.map} +1 -1
- package/{index-dc1827ea.js → index-f8a9cb51.js} +3 -3
- package/{index-dc1827ea.js.map → index-f8a9cb51.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +56 -56
- package/package.json +1 -1
- package/{resolvedReplyType-0532593c.js → resolvedReplyType-fb987595.js} +1 -1
- package/{resolvedReplyType-0532593c.js.map → resolvedReplyType-fb987595.js.map} +1 -1
- package/sendbirdSelectors.js +1 -1
- package/{stringFormatterUtils-444f6f4c.js → stringFormatterUtils-abbe70ba.js} +3 -3
- package/{stringFormatterUtils-444f6f4c.js.map → stringFormatterUtils-abbe70ba.js.map} +1 -1
- package/{stringSet-1106c8ec.js → stringSet-6422c6b9.js} +1 -1
- package/{stringSet-1106c8ec.js.map → stringSet-6422c6b9.js.map} +1 -1
- package/{tokenize-d17bf862.js → tokenize-eae44765.js} +3 -3
- package/{tokenize-d17bf862.js.map → tokenize-eae44765.js.map} +1 -1
- package/{tslib.es6-0c779aab.js → tslib.es6-c2fb729e.js} +1 -1
- package/{tslib.es6-0c779aab.js.map → tslib.es6-c2fb729e.js.map} +1 -1
- package/{types-50e412d8.js → types-781e0bab.js} +1 -1
- package/{types-50e412d8.js.map → types-781e0bab.js.map} +1 -1
- package/{types-4ffc52f6.js → types-9d43ac6e.js} +1 -1
- package/{types-4ffc52f6.js.map → types-9d43ac6e.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 +6 -6
- package/ui/Button.js +5 -5
- package/ui/ChannelAvatar.js +3 -3
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -6
- package/ui/DateSeparator.js +4 -4
- package/ui/EmojiReactions.js +15 -15
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileViewer.js +14 -14
- package/ui/IconButton.js +1 -1
- package/ui/ImageRenderer.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/Loader.js +1 -1
- package/ui/MentionLabel.js +11 -11
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +37 -37
- package/ui/MessageInput/hooks/usePaste.js +5 -5
- package/ui/MessageInput.js +16 -16
- package/ui/MessageItemMenu.js +19 -19
- package/ui/MessageItemReactionMenu.js +10 -10
- package/ui/MessageSearchFileItem.js +12 -12
- package/ui/MessageSearchItem.js +9 -9
- package/ui/MessageStatus.js +11 -11
- package/ui/Modal.js +10 -10
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +3 -3
- package/ui/OpenChannelAvatar.js +6 -6
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +17 -17
- package/ui/OpenchannelOGMessage.js +19 -19
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelUserMessage.js +17 -17
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +8 -8
- package/ui/QuoteMessageInput.js +8 -8
- package/ui/ReactionBadge.js +3 -3
- package/ui/ReactionButton.js +5 -5
- package/ui/SortByRow.js +2 -2
- package/ui/TextButton.js +2 -2
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +6 -6
- package/ui/ThumbnailMessageItemBody.js +8 -8
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +3 -3
- package/ui/TooltipWrapper.js +1 -1
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +12 -12
- package/ui/VoiceMessgeInput.js +8 -8
- package/ui/Word.js +11 -11
- package/{useHandleUploadFiles-33aff88e.js → useHandleUploadFiles-5ede1bfe.js} +11 -11
- package/{useHandleUploadFiles-33aff88e.js.map → useHandleUploadFiles-5ede1bfe.js.map} +1 -1
- package/{useLongPress-322bb6a3.js → useLongPress-f8655a14.js} +3 -3
- package/{useLongPress-322bb6a3.js.map → useLongPress-f8655a14.js.map} +1 -1
- package/{useSendMultipleFilesMessage-4489a0f6.js → useSendMultipleFilesMessage-b8256698.js} +3 -3
- package/{useSendMultipleFilesMessage-4489a0f6.js.map → useSendMultipleFilesMessage-b8256698.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/{useStatefulFileInfoList-dd95f949.js → useStatefulFileInfoList-5e68b93f.js} +4 -4
- package/{useStatefulFileInfoList-dd95f949.js.map → useStatefulFileInfoList-5e68b93f.js.map} +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/{utils-48a3ef27.js → utils-2c1f072b.js} +1 -1
- package/{utils-48a3ef27.js.map → utils-2c1f072b.js.map} +1 -1
- package/{utils-74c161a0.js → utils-6c50a6d1.js} +1 -1
- package/{utils-74c161a0.js.map → utils-6c50a6d1.js.map} +1 -1
- package/{utils-40040f8e.js → utils-aa4086dc.js} +4 -4
- package/{utils-40040f8e.js.map → utils-aa4086dc.js.map} +1 -1
- package/{utils-e98a7f8c.js → utils-bfc0ab3b.js} +3 -3
- package/{utils-e98a7f8c.js.map → utils-bfc0ab3b.js.map} +1 -1
- package/{utils-158c1683.js → utils-fa321757.js} +1 -1
- package/{utils-158c1683.js.map → utils-fa321757.js.map} +1 -1
- package/{utils-3660243c.js → utils-fc1f5aa0.js} +2 -2
- package/{utils-3660243c.js.map → utils-fc1f5aa0.js.map} +1 -1
- package/{uuid-3c77ef7b.js → uuid-c15b8b3b.js} +1 -1
- package/{uuid-3c77ef7b.js.map → uuid-c15b8b3b.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelProvider-7f6fd1f8.js.map +0 -1
- package/_rollupPluginBabelHelpers-07dcbc2b.js.map +0 -1
- package/cjs/ChannelProvider-7fa98120.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-94c18dc1.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_ContextMenu = require('./ui/ContextMenu.js');
|
|
5
5
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
6
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
6
|
+
var LocalizationContext = require('./LocalizationContext-58b6ed7c.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -194,4 +194,4 @@ exports.isFineDelete = isFineDelete;
|
|
|
194
194
|
exports.isFineEdit = isFineEdit;
|
|
195
195
|
exports.isFineResend = isFineResend;
|
|
196
196
|
exports.showMenuTrigger = showMenuTrigger;
|
|
197
|
-
//# sourceMappingURL=index-
|
|
197
|
+
//# sourceMappingURL=index-45933be9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-80a11b6a.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';\nimport { SendableMessageType } from './index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: SendableMessageType): 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: SendableMessageType, 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: SendableMessageType;\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: SendableMessageType;\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: SendableMessageType;\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: SendableMessageType;\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';\nimport { SendableMessageType } from '../../utils';\n\ntype Props = {\n message: SendableMessageType;\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 dataSbId=\"open_channel_mobile_context_menu_copy\"\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 dataSbId=\"open_channel_mobile_context_menu_edit\"\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 dataSbId=\"open_channel_mobile_context_menu_resend\"\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 dataSbId=\"open_channel_mobile_context_menu_delete\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"open_channel_mobile_context_menu_download_file\"\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","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","dataSbId","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-45933be9.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';\nimport { SendableMessageType } from './index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded',\n};\n\nexport const getSenderFromMessage = (message: SendableMessageType): 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: SendableMessageType, 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: SendableMessageType;\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: SendableMessageType;\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: SendableMessageType;\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: SendableMessageType;\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';\nimport { SendableMessageType } from '../../utils';\n\ntype Props = {\n message: SendableMessageType;\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 dataSbId=\"open_channel_mobile_context_menu_copy\"\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 dataSbId=\"open_channel_mobile_context_menu_edit\"\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 dataSbId=\"open_channel_mobile_context_menu_resend\"\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 dataSbId=\"open_channel_mobile_context_menu_delete\"\n >\n <>{stringSet.CONTEXT_MENU_DROPDOWN__DELETE}</>\n </MenuItem>\n )\n }\n {\n isFineDownload({ message, status }) && (\n <MenuItem\n onClick={() => {\n hideMenu();\n }}\n dataSbId=\"open_channel_mobile_context_menu_download_file\"\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","createElement","ContextMenu","isOpen","menuItems","MenuItems","className","parentContainRef","closeDropdown","MenuItem","onClick","dataSbId","Fragment","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","rel","href","url","target","CONTEXT_MENU_DROPDOWN__SAVE"],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
|
|
|
5
5
|
var ui_ProgressBar = require('./ui/ProgressBar.js');
|
|
6
6
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
7
7
|
var ui_Icon = require('./ui/Icon.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var consts = require('./consts-
|
|
8
|
+
var ui_Label = require('./index-b5a9b4b7.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-58b6ed7c.js');
|
|
10
|
+
var consts = require('./consts-f54b15c2.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
@@ -160,4 +160,4 @@ var VoiceMessageInput = function (_a) {
|
|
|
160
160
|
|
|
161
161
|
exports.VoiceMessageInput = VoiceMessageInput;
|
|
162
162
|
exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
|
|
163
|
-
//# sourceMappingURL=index-
|
|
163
|
+
//# sourceMappingURL=index-4c378655.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-ee3bf381.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport 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","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","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","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-4c378655.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport 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","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","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","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","concat","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-c74b513f.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var ui_Button = require('./ui/Button.js');
|
|
6
6
|
var ui_ContextMenu = require('./ui/ContextMenu.js');
|
|
7
7
|
var ui_Icon = require('./ui/Icon.js');
|
|
8
8
|
var ui_IconButton = require('./ui/IconButton.js');
|
|
9
|
-
var ui_Label = require('./index-
|
|
10
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
11
|
-
var UserProfileContext = require('./UserProfileContext-
|
|
12
|
-
var types = require('./types-
|
|
13
|
-
require('./context-
|
|
9
|
+
var ui_Label = require('./index-b5a9b4b7.js');
|
|
10
|
+
var LocalizationContext = require('./LocalizationContext-58b6ed7c.js');
|
|
11
|
+
var UserProfileContext = require('./UserProfileContext-c6d7abb7.js');
|
|
12
|
+
var types = require('./types-d0d770c3.js');
|
|
13
|
+
require('./context-6684538e.js');
|
|
14
14
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
15
15
|
require('react-dom');
|
|
16
|
-
require('./index-
|
|
16
|
+
require('./index-54279ec2.js');
|
|
17
17
|
var ui_MutedAvatarOverlay = require('./ui/MutedAvatarOverlay.js');
|
|
18
18
|
var ui_UserProfile = require('./ui/UserProfile.js');
|
|
19
19
|
require('@sendbird/chat/openChannel');
|
|
20
20
|
var ui_Modal = require('./ui/Modal.js');
|
|
21
21
|
var ui_UserListItem = require('./ui/UserListItem.js');
|
|
22
|
-
var utils = require('./utils-
|
|
22
|
+
var utils = require('./utils-eb6d90e0.js');
|
|
23
23
|
var OpenChannelSettings_context = require('./OpenChannelSettings/context.js');
|
|
24
24
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
25
25
|
|
|
@@ -366,4 +366,4 @@ function ParticipantList(_a) {
|
|
|
366
366
|
|
|
367
367
|
exports.ParticipantList = ParticipantList;
|
|
368
368
|
exports.UserListItem = UserListItem;
|
|
369
|
-
//# sourceMappingURL=index-
|
|
369
|
+
//# sourceMappingURL=index-4e939c26.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-6b0644d7.js","sources":["../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { Participant, 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: Participant) => {\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 dataSbId={`open_channel_setting_participant_context_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\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 if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${p.isMuted ? 'unmute' : 'mute'}`\n }\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n dataSbId=\"open_channel_setting_participant_context_menu_ban\"\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 { Participant } 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';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: Participant;\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 { disableUserProfile, renderUserProfile } = 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 <>\n <Avatar\n className=\"sendbird-participants-accordion__member-avatar__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 {user?.isMuted ? (<MutedAvatarOverlay />) : ''}\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 currentUserId = 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={currentUserId}\n key={p.userId}\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 ) : ''\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 { Participant, 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: Participant) => {\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 closeDropdown();\n refreshList();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\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 if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${p.isMuted ? 'unmute' : 'mute'}`}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }}\n dataSbId=\"open_channel_setting_partitipant_conext_menu_ban\"\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","createElement","Modal","hideFooter","isFullScreenOnMobile","onSubmit","noop","titleText","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","className","onScroll","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","user","key","currentUser","action","actionRef","parentRef","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","closeDropdown","MenuItems","parentContainRef","openLeft","MenuItem","removeOperators","addOperators","dataSbId","concat","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","isMuted","unmuteUser","muteUser","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","Fragment","Avatar","ref","src","profileUrl","MutedAvatarOverlay","style","paddingTop","paddingBottom","currentUserId","close","UserProfile","disableMessaging","onSuccess","Label","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-4e939c26.js","sources":["../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantsModal.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../src/modules/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport type { Participant, 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: Participant) => {\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 dataSbId={`open_channel_setting_participant_context_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\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 if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n });\n }\n }}\n dataSbId={`open_channel_setting_participant_context_menu_${p.isMuted ? 'unmute' : 'mute'}`\n }\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n });\n }}\n dataSbId=\"open_channel_setting_participant_context_menu_ban\"\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 { Participant } 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';\nimport MutedAvatarOverlay from '../../../../ui/Avatar/MutedAvatarOverlay';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface ActionProps {\n actionRef: React.RefObject<HTMLInputElement>;\n}\ninterface UserListItemProps {\n user: Participant;\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 { disableUserProfile, renderUserProfile } = 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 <>\n <Avatar\n className=\"sendbird-participants-accordion__member-avatar__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 {user?.isMuted ? (<MutedAvatarOverlay />) : ''}\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 currentUserId = 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={currentUserId}\n key={p.userId}\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 ) : ''\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 { Participant, 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: Participant) => {\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 closeDropdown();\n refreshList();\n });\n } else {\n channel?.addOperators([p.userId]).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${(\n isOperator) ? 'unregister_operator' : 'register_as_operator'}`\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 if (p.isMuted) {\n channel?.unmuteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n } else {\n channel?.muteUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }\n }}\n dataSbId={`open_channel_setting_partitipant_conext_menu_${p.isMuted ? 'unmute' : 'mute'}`}\n >\n {\n p.isMuted\n ? stringSet.OPEN_CHANNEL_SETTING__MODERATION__UNMUTE\n : stringSet.OPEN_CHANNEL_SETTING__MODERATION__MUTE\n }\n </MenuItem>\n <MenuItem\n onClick={() => {\n channel?.banUser(p).then(() => {\n closeDropdown();\n refreshList();\n });\n }}\n dataSbId=\"open_channel_setting_partitipant_conext_menu_ban\"\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","createElement","Modal","hideFooter","isFullScreenOnMobile","onSubmit","noop","titleText","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","className","onScroll","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","__spreadArray","map","p","UserListItem","user","key","currentUser","action","actionRef","parentRef","ContextMenu","menuTrigger","toggleDropdown","IconButton","width","height","onClick","Icon","type","IconTypes","MORE","fillColor","IconColors","CONTENT_INVERSE","menuItems","closeDropdown","MenuItems","parentContainRef","openLeft","MenuItem","removeOperators","addOperators","dataSbId","concat","OPEN_CHANNEL_SETTING__MODERATION__UNREGISTER_OPERATOR","OPEN_CHANNEL_SETTING__MODERATION__REGISTER_AS_OPERATOR","isMuted","unmuteUser","muteUser","OPEN_CHANNEL_SETTING__MODERATION__UNMUTE","OPEN_CHANNEL_SETTING__MODERATION__MUTE","banUser","OPEN_CHANNEL_SETTING__MODERATION__BAN","avatarRef","useRef","UserProfileContext","disableUserProfile","renderUserProfile","Fragment","Avatar","ref","src","profileUrl","MutedAvatarOverlay","style","paddingTop","paddingBottom","currentUserId","close","UserProfile","disableMessaging","onSuccess","Label","LabelTypography","SUBTITLE_2","color","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","OPEN_CHANNEL_SETTINGS__MEMBERS__YOU","CAPTION_3","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__MEMBERS__OPERATOR","ParticipantList","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-c74b513f.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var index$1 = require('./index-
|
|
5
|
+
var index$1 = require('./index-3448df64.js');
|
|
6
6
|
var ui_Icon = require('./ui/Icon.js');
|
|
7
|
-
var ui_Label = require('./index-
|
|
7
|
+
var ui_Label = require('./index-b5a9b4b7.js');
|
|
8
8
|
var ui_Loader = require('./ui/Loader.js');
|
|
9
|
-
var index$2 = require('./index-
|
|
9
|
+
var index$2 = require('./index-dbe8dd84.js');
|
|
10
10
|
var utils_message_getOutgoingMessageState = require('./utils/message/getOutgoingMessageState.js');
|
|
11
|
-
var index = require('./index-
|
|
12
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
11
|
+
var index = require('./index-7627b546.js');
|
|
12
|
+
var LocalizationContext = require('./LocalizationContext-58b6ed7c.js');
|
|
13
13
|
|
|
14
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
15
|
|
|
@@ -170,4 +170,4 @@ exports.getChannelUnreadMessageCount = getChannelUnreadMessageCount;
|
|
|
170
170
|
exports.getLastMessage = getLastMessage;
|
|
171
171
|
exports.getLastMessageCreatedAt = getLastMessageCreatedAt;
|
|
172
172
|
exports.getTotalMembers = getTotalMembers;
|
|
173
|
-
//# sourceMappingURL=index-
|
|
173
|
+
//# sourceMappingURL=index-520e12b8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-aeb36f01.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.ts","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { isAudio, isGif, isImage, isVideo, isVoiceMessageMimeType } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel?: GroupChannel, currentUserId?: string, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => nickname || stringSet.NO_NAME)\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({ channel, locale, stringSet = LabelStringSet }) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel?: GroupChannel) => (channel?.memberCount ? channel.memberCount : 0);\n\nconst getChannelPreviewFileDisplayString = (mimeType: string, stringSet = LabelStringSet) => {\n if (isGif(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF ?? '';\n }\n if (isImage(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO ?? '';\n }\n if (isVideo(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO ?? '';\n }\n if (isAudio(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO ?? '';\n }\n if (isVoiceMessageMimeType(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE ?? '';\n }\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL ?? '';\n};\n\nconst getPrettyLastMessage = (message = null, stringSet = LabelStringSet) => {\n if (!message) return '';\n if (message.isFileMessage()) {\n return getChannelPreviewFileDisplayString(message.type, stringSet);\n }\n if (message.isMultipleFilesMessage()) {\n const mimeType = message.fileInfoList?.[0]?.mimeType;\n if (isImage(mimeType) || isGif(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO ?? '';\n }\n return getChannelPreviewFileDisplayString(mimeType, stringSet);\n }\n return message.message ?? '';\n};\n\nexport const getLastMessage = (channel?: GroupChannel, stringSet = LabelStringSet) => channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage, stringSet) : '';\n\nexport const getChannelUnreadMessageCount = (channel?: GroupChannel) => channel?.unreadMessageCount ? channel.unreadMessageCount : 0;\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport { CoreMessageType, isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message?: CoreMessageType | null;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","_a","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","_c","createdAt","_b","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getChannelPreviewFileDisplayString","mimeType","isGif","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF","isImage","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO","isVideo","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO","isAudio","_d","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO","isVoiceMessageMimeType","_e","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE","_f","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL","getPrettyLastMessage","message","isFileMessage","type","isMultipleFilesMessage","fileInfoList","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","className","isDateSeparatorConsidered","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","__spreadArray","Array","isArray","Loader","width","height","Icon","SPINNER","fillColor","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-520e12b8.js","sources":["../../src/modules/ChannelList/components/ChannelPreview/utils.ts","../../src/ui/MessageStatus/index.tsx"],"sourcesContent":["import type { GroupChannel } from '@sendbird/chat/groupChannel';\nimport isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isThisYear from 'date-fns/isThisYear';\nimport isYesterday from 'date-fns/isYesterday';\nimport { isAudio, isGif, isImage, isVideo, isVoiceMessageMimeType } from '../../../../utils';\nimport { LabelStringSet } from '../../../../ui/Label';\n\nexport const getChannelTitle = (channel?: GroupChannel, currentUserId?: string, stringSet = LabelStringSet) => {\n if (!channel?.name && !channel?.members) {\n return stringSet.NO_TITLE;\n }\n if (channel?.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel?.members?.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n return (channel?.members || [])\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => nickname || stringSet.NO_NAME)\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = ({ channel, locale, stringSet = LabelStringSet }) => {\n const createdAt = channel?.lastMessage?.createdAt;\n const optionalParam = locale ? { locale } : null;\n if (!createdAt) {\n return '';\n }\n if (isToday(createdAt)) {\n return format(createdAt, 'p', optionalParam);\n }\n if (isYesterday(createdAt)) {\n return stringSet.MESSAGE_STATUS__YESTERDAY || 'Yesterday';\n }\n if (isThisYear(createdAt)) {\n return format(createdAt, 'MMM d', optionalParam);\n }\n return format(createdAt, 'yyyy/M/d', optionalParam);\n};\n\nexport const getTotalMembers = (channel?: GroupChannel) => (channel?.memberCount ? channel.memberCount : 0);\n\nconst getChannelPreviewFileDisplayString = (mimeType: string, stringSet = LabelStringSet) => {\n if (isGif(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF ?? '';\n }\n if (isImage(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO ?? '';\n }\n if (isVideo(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO ?? '';\n }\n if (isAudio(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO ?? '';\n }\n if (isVoiceMessageMimeType(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE ?? '';\n }\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL ?? '';\n};\n\nconst getPrettyLastMessage = (message = null, stringSet = LabelStringSet) => {\n if (!message) return '';\n if (message.isFileMessage()) {\n return getChannelPreviewFileDisplayString(message.type, stringSet);\n }\n if (message.isMultipleFilesMessage()) {\n const mimeType = message.fileInfoList?.[0]?.mimeType;\n if (isImage(mimeType) || isGif(mimeType)) {\n return stringSet?.CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO ?? '';\n }\n return getChannelPreviewFileDisplayString(mimeType, stringSet);\n }\n return message.message ?? '';\n};\n\nexport const getLastMessage = (channel?: GroupChannel, stringSet = LabelStringSet) => channel?.lastMessage ? getPrettyLastMessage(channel?.lastMessage, stringSet) : '';\n\nexport const getChannelUnreadMessageCount = (channel?: GroupChannel) => channel?.unreadMessageCount ? channel.unreadMessageCount : 0;\n","import './index.scss';\nimport React from 'react';\nimport format from 'date-fns/format';\nimport { GroupChannel } from '@sendbird/chat/groupChannel';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport { CoreMessageType, isSentStatus } from '../../utils';\nimport {\n getOutgoingMessageState,\n OutgoingMessageStates,\n} from '../../utils/exports/getOutgoingMessageState';\nimport { getLastMessageCreatedAt } from '../../modules/ChannelList/components/ChannelPreview/utils';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport { Nullable } from '../../types';\n\nexport const MessageStatusTypes = OutgoingMessageStates;\n\ninterface MessageStatusProps {\n className?: string;\n message?: CoreMessageType | null;\n channel: Nullable<GroupChannel>;\n isDateSeparatorConsidered?: boolean;\n}\n\nexport default function MessageStatus({\n className,\n message,\n channel,\n isDateSeparatorConsidered = true,\n}: MessageStatusProps): React.ReactElement {\n const { stringSet, dateLocale } = useLocalization();\n const status = getOutgoingMessageState(channel, message);\n const hideMessageStatusIcon = channel?.isGroupChannel?.() && (\n (channel.isSuper || channel.isPublic || channel.isBroadcast)\n && !(status === OutgoingMessageStates.PENDING || status === OutgoingMessageStates.FAILED)\n );\n const iconType = {\n [OutgoingMessageStates.SENT]: IconTypes.DONE,\n [OutgoingMessageStates.DELIVERED]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.READ]: IconTypes.DONE_ALL,\n [OutgoingMessageStates.FAILED]: IconTypes.ERROR,\n };\n const iconColor = {\n [OutgoingMessageStates.SENT]: IconColors.SENT,\n [OutgoingMessageStates.DELIVERED]: IconColors.SENT,\n [OutgoingMessageStates.READ]: IconColors.READ,\n [OutgoingMessageStates.FAILED]: IconColors.ERROR,\n };\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-message-status',\n ].join(' ')}\n >\n {(status === OutgoingMessageStates.PENDING) ? (\n <Loader\n className=\"sendbird-message-status__icon\"\n width=\"16px\"\n height=\"16px\"\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width=\"16px\"\n height=\"16px\"\n />\n </Loader>\n ) : (\n <Icon\n className={`sendbird-message-status__icon ${hideMessageStatusIcon ? 'hide-icon' : ''} ${status === OutgoingMessageStates.FAILED ? '' : 'sendbird-message-status--sent'\n }`}\n type={iconType[status] || IconTypes.ERROR}\n fillColor={iconColor[status]}\n width=\"16px\"\n height=\"16px\"\n />\n )}\n {isSentStatus(status) && (\n <Label\n className=\"sendbird-message-status__text\"\n type={LabelTypography.CAPTION_3}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n isDateSeparatorConsidered\n ? format(message?.createdAt || 0, 'p', { locale: dateLocale })\n : getLastMessageCreatedAt({ channel, locale: dateLocale, stringSet })\n }\n </Label>\n )}\n </div>\n );\n}\n"],"names":["getChannelTitle","channel","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","_a","length","NO_MEMBERS","filter","userId","map","nickname","NO_NAME","join","getLastMessageCreatedAt","locale","_c","createdAt","_b","lastMessage","optionalParam","isToday","format","isYesterday","MESSAGE_STATUS__YESTERDAY","isThisYear","getTotalMembers","memberCount","getChannelPreviewFileDisplayString","mimeType","isGif","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GIF","isImage","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_PHOTO","isVideo","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VIDEO","isAudio","_d","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_AUDIO","isVoiceMessageMimeType","_e","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_VOICE_MESSAGE","_f","CHANNEL_PREVIEW_LAST_MESSAGE_FILE_TYPE_GENERAL","getPrettyLastMessage","message","isFileMessage","type","isMultipleFilesMessage","fileInfoList","getLastMessage","getChannelUnreadMessageCount","unreadMessageCount","MessageStatusTypes","OutgoingMessageStates","MessageStatus","className","isDateSeparatorConsidered","useLocalization","dateLocale","status","getOutgoingMessageState","hideMessageStatusIcon","isGroupChannel","call","isSuper","isPublic","isBroadcast","PENDING","FAILED","iconType","SENT","IconTypes","DONE","DELIVERED","DONE_ALL","READ","ERROR","iconColor","IconColors","React","createElement","__spreadArray","Array","isArray","Loader","width","height","Icon","SPINNER","fillColor","PRIMARY","concat","isSentStatus","Label","LabelTypography","CAPTION_3","color","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|