@sendbird/uikit-react 3.6.11-beta.1 → 3.6.11-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +55 -55
- package/Channel/components/ChannelHeader.js +22 -22
- package/Channel/components/ChannelUI.js +48 -48
- package/Channel/components/FileViewer.js +18 -18
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +42 -42
- package/Channel/components/MessageInput.js +34 -34
- package/Channel/components/MessageList.js +43 -43
- package/Channel/components/RemoveMessageModal.js +22 -22
- package/Channel/components/SuggestedMentionList.js +20 -20
- 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 +7 -7
- package/Channel/utils/getMessagePartsInfo.js +8 -8
- package/Channel.js +48 -48
- package/ChannelList/components/AddChannel.js +16 -16
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +33 -33
- package/ChannelList/components/ChannelPreview.js +29 -29
- package/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/ChannelList/context.js +9 -9
- package/ChannelList.js +36 -46
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-3b34756f.js → ChannelListProvider-1188e373.js} +16 -14
- package/ChannelListProvider-1188e373.js.map +1 -0
- package/{ChannelProvider-84f36028.js → ChannelProvider-9de00431.js} +13 -13
- package/{ChannelProvider-84f36028.js.map → ChannelProvider-9de00431.js.map} +1 -1
- package/ChannelSettings/components/ChannelProfile.js +13 -13
- package/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/ChannelSettings/components/LeaveChannel.js +12 -12
- package/ChannelSettings/components/ModerationPanel.js +15 -15
- package/ChannelSettings/components/UserListItem.js +11 -11
- package/ChannelSettings/components/UserPanel.js +14 -14
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +18 -18
- package/CreateChannel/components/CreateChannelUI.js +14 -14
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/SelectChannelType.js +11 -11
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +14 -14
- package/{CreateChannelProvider-4230ce8f.js → CreateChannelProvider-a2fad282.js} +1 -1
- package/{CreateChannelProvider-4230ce8f.js.map → CreateChannelProvider-a2fad282.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +11 -11
- package/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/EditUserProfile.js +13 -13
- package/{LocalizationContext-feaa05ad.js → LocalizationContext-2463058b.js} +3 -3
- package/{LocalizationContext-feaa05ad.js.map → LocalizationContext-2463058b.js.map} +1 -1
- package/{MediaQueryContext-11e0a1e3.js → MediaQueryContext-e3429d12.js} +1 -1
- package/{MediaQueryContext-11e0a1e3.js.map → MediaQueryContext-e3429d12.js.map} +1 -1
- package/{MemberList-3e21b75a.js → MemberList-593867cb.js} +6 -6
- package/{MemberList-3e21b75a.js.map → MemberList-593867cb.js.map} +1 -1
- package/MessageSearch/components/MessageSearchUI.js +13 -13
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +13 -13
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +20 -20
- package/OpenChannel/components/OpenChannelMessage.js +31 -31
- package/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/OpenChannel/components/OpenChannelUI.js +34 -34
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +34 -34
- package/OpenChannelList/components/OpenChannelListUI.js +15 -15
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +15 -15
- package/{OpenChannelListProvider-7f336855.js → OpenChannelListProvider-a0a09f0b.js} +3 -3
- package/{OpenChannelListProvider-7f336855.js.map → OpenChannelListProvider-a0a09f0b.js.map} +1 -1
- package/{OpenChannelProvider-4953d940.js → OpenChannelProvider-3e4b8c8e.js} +7 -7
- package/{OpenChannelProvider-4953d940.js.map → OpenChannelProvider-3e4b8c8e.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +14 -14
- package/OpenChannelSettings/components/OpenChannelProfile.js +14 -14
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +18 -18
- package/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +18 -18
- package/{RemoveMessageModal-e3c44528.js → RemoveMessageModal-9162aebe.js} +5 -5
- package/{RemoveMessageModal-e3c44528.js.map → RemoveMessageModal-9162aebe.js.map} +1 -1
- package/SendbirdProvider.js +17 -17
- 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 +34 -34
- package/Thread/components/ThreadUI.js +47 -47
- package/Thread/context.js +12 -12
- package/Thread.js +47 -47
- package/{ThreadProvider-7f6d0d40.js → ThreadProvider-9a3b145f.js} +9 -9
- package/{ThreadProvider-7f6d0d40.js.map → ThreadProvider-9a3b145f.js.map} +1 -1
- package/{UserProfileContext-70414dd5.js → UserProfileContext-4ae968eb.js} +1 -1
- package/{UserProfileContext-70414dd5.js.map → UserProfileContext-4ae968eb.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +11 -11
- package/VoiceRecorder/context.js +11 -11
- package/VoiceRecorder/useVoiceRecorder.js +10 -10
- package/{WebAudioUtils-5a8539aa.js → WebAudioUtils-f9386235.js} +2 -2
- package/{WebAudioUtils-5a8539aa.js.map → WebAudioUtils-f9386235.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-51534391.js → _rollupPluginBabelHelpers-50c9576f.js} +1 -1
- package/_rollupPluginBabelHelpers-50c9576f.js.map +1 -0
- package/{actionTypes-54ae5a44.js → actionTypes-501b8c11.js} +1 -1
- package/{actionTypes-54ae5a44.js.map → actionTypes-501b8c11.js.map} +1 -1
- package/cjs/App.js +55 -55
- package/cjs/Channel/components/ChannelHeader.js +22 -22
- package/cjs/Channel/components/ChannelUI.js +48 -48
- package/cjs/Channel/components/FileViewer.js +18 -18
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +42 -42
- package/cjs/Channel/components/MessageInput.js +34 -34
- package/cjs/Channel/components/MessageList.js +43 -43
- package/cjs/Channel/components/RemoveMessageModal.js +22 -22
- package/cjs/Channel/components/SuggestedMentionList.js +20 -20
- 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 +7 -7
- package/cjs/Channel/utils/getMessagePartsInfo.js +8 -8
- package/cjs/Channel.js +48 -48
- package/cjs/ChannelList/components/AddChannel.js +16 -16
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +33 -33
- package/cjs/ChannelList/components/ChannelPreview.js +29 -29
- package/cjs/ChannelList/components/ChannelPreviewAction.js +15 -15
- package/cjs/ChannelList/context.js +9 -9
- package/cjs/ChannelList.js +35 -45
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-0e8c13a1.js → ChannelListProvider-e55e6242.js} +16 -14
- package/cjs/ChannelListProvider-e55e6242.js.map +1 -0
- package/cjs/{ChannelProvider-7af0f1fb.js → ChannelProvider-6fa73019.js} +13 -13
- package/cjs/{ChannelProvider-7af0f1fb.js.map → ChannelProvider-6fa73019.js.map} +1 -1
- package/cjs/ChannelSettings/components/ChannelProfile.js +13 -13
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +18 -18
- package/cjs/ChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/ChannelSettings/components/LeaveChannel.js +12 -12
- package/cjs/ChannelSettings/components/ModerationPanel.js +15 -15
- package/cjs/ChannelSettings/components/UserListItem.js +11 -11
- package/cjs/ChannelSettings/components/UserPanel.js +14 -14
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/CreateChannel/components/CreateChannelUI.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/SelectChannelType.js +11 -11
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +14 -14
- package/cjs/{CreateChannelProvider-b6f9258d.js → CreateChannelProvider-8b8a557c.js} +1 -1
- package/cjs/{CreateChannelProvider-b6f9258d.js.map → CreateChannelProvider-8b8a557c.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +11 -11
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +11 -11
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +13 -13
- package/cjs/EditUserProfile.js +13 -13
- package/cjs/{LocalizationContext-49278e68.js → LocalizationContext-482c1343.js} +3 -3
- package/cjs/{LocalizationContext-49278e68.js.map → LocalizationContext-482c1343.js.map} +1 -1
- package/cjs/{MediaQueryContext-5d18c7c9.js → MediaQueryContext-73aac8cf.js} +1 -1
- package/cjs/{MediaQueryContext-5d18c7c9.js.map → MediaQueryContext-73aac8cf.js.map} +1 -1
- package/cjs/{MemberList-f2874584.js → MemberList-26b8de48.js} +6 -6
- package/cjs/{MemberList-f2874584.js.map → MemberList-26b8de48.js.map} +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +13 -13
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +13 -13
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +20 -20
- package/cjs/OpenChannel/components/OpenChannelMessage.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +34 -34
- package/cjs/OpenChannel/components/OpenChannelUI.js +34 -34
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +34 -34
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +15 -15
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +15 -15
- package/cjs/{OpenChannelListProvider-44b415cd.js → OpenChannelListProvider-2e3ee48d.js} +3 -3
- package/cjs/{OpenChannelListProvider-44b415cd.js.map → OpenChannelListProvider-2e3ee48d.js.map} +1 -1
- package/cjs/{OpenChannelProvider-0c273f88.js → OpenChannelProvider-8577ea58.js} +7 -7
- package/cjs/{OpenChannelProvider-0c273f88.js.map → OpenChannelProvider-8577ea58.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 +18 -18
- package/cjs/OpenChannelSettings/components/OperatorUI.js +17 -17
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +15 -15
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +18 -18
- package/cjs/{RemoveMessageModal-ac75b528.js → RemoveMessageModal-dfeeb36a.js} +5 -5
- package/cjs/{RemoveMessageModal-ac75b528.js.map → RemoveMessageModal-dfeeb36a.js.map} +1 -1
- package/cjs/SendbirdProvider.js +17 -17
- 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 +34 -34
- package/cjs/Thread/components/ThreadUI.js +47 -47
- package/cjs/Thread/context.js +12 -12
- package/cjs/Thread.js +47 -47
- package/cjs/{ThreadProvider-575f30a0.js → ThreadProvider-8b0cf491.js} +9 -9
- package/cjs/{ThreadProvider-575f30a0.js.map → ThreadProvider-8b0cf491.js.map} +1 -1
- package/cjs/{UserProfileContext-2d2eb37a.js → UserProfileContext-fa8d0383.js} +1 -1
- package/cjs/{UserProfileContext-2d2eb37a.js.map → UserProfileContext-fa8d0383.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +11 -11
- package/cjs/VoiceRecorder/context.js +11 -11
- package/cjs/VoiceRecorder/useVoiceRecorder.js +10 -10
- package/cjs/{WebAudioUtils-8579d354.js → WebAudioUtils-142344fd.js} +2 -2
- package/cjs/{WebAudioUtils-8579d354.js.map → WebAudioUtils-142344fd.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-2387ee47.js → _rollupPluginBabelHelpers-83d7e84b.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-83d7e84b.js.map +1 -0
- package/cjs/{actionTypes-d0c305bd.js → actionTypes-1d118952.js} +1 -1
- package/cjs/{actionTypes-d0c305bd.js.map → actionTypes-1d118952.js.map} +1 -1
- package/cjs/{color-34055562.js → color-d83b77ac.js} +1 -1
- package/cjs/{color-34055562.js.map → color-d83b77ac.js.map} +1 -1
- package/cjs/{compareIds-6f4cd45e.js → compareIds-bef997cb.js} +1 -1
- package/cjs/{compareIds-6f4cd45e.js.map → compareIds-bef997cb.js.map} +1 -1
- package/cjs/{const-7f58640e.js → const-1726bde0.js} +1 -1
- package/cjs/{const-7f58640e.js.map → const-1726bde0.js.map} +1 -1
- package/cjs/{const-47d0ca8a.js → const-67ff9e34.js} +1 -1
- package/cjs/{const-47d0ca8a.js.map → const-67ff9e34.js.map} +1 -1
- package/cjs/{consts-98b267f9.js → consts-b018b1ed.js} +1 -1
- package/cjs/{consts-98b267f9.js.map → consts-b018b1ed.js.map} +1 -1
- package/cjs/{consts-6ee9509b.js → consts-bf228385.js} +1 -1
- package/cjs/{consts-6ee9509b.js.map → consts-bf228385.js.map} +1 -1
- package/cjs/{consts-d42a7f78.js → consts-d3b53f23.js} +1 -1
- package/cjs/{consts-d42a7f78.js.map → consts-d3b53f23.js.map} +1 -1
- package/cjs/{consts-8a7853e7.js → consts-fb07c671.js} +1 -1
- package/cjs/{consts-8a7853e7.js.map → consts-fb07c671.js.map} +1 -1
- package/cjs/{context-a7a43cca.js → context-bd2878ff.js} +2 -2
- package/cjs/{context-a7a43cca.js.map → context-bd2878ff.js.map} +1 -1
- package/cjs/dist/index.css +97 -97
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-48a852e6.js → index-11f9cc0f.js} +3 -3
- package/cjs/{index-48a852e6.js.map → index-11f9cc0f.js.map} +1 -1
- package/cjs/{index-19115579.js → index-18720f0d.js} +2 -2
- package/cjs/{index-19115579.js.map → index-18720f0d.js.map} +1 -1
- package/cjs/{index-f7ac45b5.js → index-1a9fdbb4.js} +7 -7
- package/cjs/{index-f7ac45b5.js.map → index-1a9fdbb4.js.map} +1 -1
- package/cjs/{index-321b7779.js → index-1f6b30ea.js} +3 -3
- package/cjs/{index-321b7779.js.map → index-1f6b30ea.js.map} +1 -1
- package/cjs/{index-cf1eb205.js → index-2ab19f9b.js} +4 -4
- package/cjs/{index-cf1eb205.js.map → index-2ab19f9b.js.map} +1 -1
- package/cjs/{index-08700ffe.js → index-4b5a006d.js} +5 -5
- package/cjs/{index-08700ffe.js.map → index-4b5a006d.js.map} +1 -1
- package/cjs/{index-28cefbed.js → index-4eb7e2b5.js} +2 -2
- package/cjs/{index-28cefbed.js.map → index-4eb7e2b5.js.map} +1 -1
- package/cjs/{index-121d6c06.js → index-56a25735.js} +5 -5
- package/cjs/{index-121d6c06.js.map → index-56a25735.js.map} +1 -1
- package/cjs/{index-1aaf0b9b.js → index-6ab9a40d.js} +2 -2
- package/cjs/{index-1aaf0b9b.js.map → index-6ab9a40d.js.map} +1 -1
- package/cjs/{index-d8612762.js → index-759f2a26.js} +4 -4
- package/cjs/{index-d8612762.js.map → index-759f2a26.js.map} +1 -1
- package/cjs/{index-f482099e.js → index-7c374c20.js} +2 -2
- package/cjs/{index-f482099e.js.map → index-7c374c20.js.map} +1 -1
- package/cjs/{index-cf2ba92c.js → index-7f41c4b6.js} +3 -3
- package/cjs/{index-cf2ba92c.js.map → index-7f41c4b6.js.map} +1 -1
- package/cjs/{index-25c1ba3d.js → index-81baccd0.js} +4 -4
- package/cjs/{index-25c1ba3d.js.map → index-81baccd0.js.map} +1 -1
- package/cjs/{index-c2d4df04.js → index-857630c5.js} +9 -9
- package/cjs/{index-c2d4df04.js.map → index-857630c5.js.map} +1 -1
- package/cjs/{index-d315648b.js → index-8ec12d1d.js} +6 -6
- package/cjs/{index-d315648b.js.map → index-8ec12d1d.js.map} +1 -1
- package/cjs/{index-e9d1f7ba.js → index-91b4af96.js} +4 -4
- package/cjs/{index-e9d1f7ba.js.map → index-91b4af96.js.map} +1 -1
- package/cjs/{index-3631aadd.js → index-c9b003b3.js} +2 -2
- package/cjs/{index-3631aadd.js.map → index-c9b003b3.js.map} +1 -1
- package/cjs/{index-56ed4734.js → index-cbcacbee.js} +1 -1
- package/cjs/{index-56ed4734.js.map → index-cbcacbee.js.map} +1 -1
- package/cjs/{index-118211b2.js → index-d04f312e.js} +1 -1
- package/cjs/{index-118211b2.js.map → index-d04f312e.js.map} +1 -1
- package/cjs/{index-62a3c471.js → index-e9ac5ae1.js} +4 -4
- package/cjs/{index-62a3c471.js.map → index-e9ac5ae1.js.map} +1 -1
- package/cjs/{index-41282b8c.js → index-fbe9cc73.js} +3 -3
- package/cjs/{index-41282b8c.js.map → index-fbe9cc73.js.map} +1 -1
- package/cjs/index.js +59 -59
- package/cjs/{index.module-bab100ce.js → index.module-a24e9cd7.js} +1 -1
- package/cjs/{index.module-bab100ce.js.map → index.module-a24e9cd7.js.map} +1 -1
- package/cjs/package.json +1 -1
- package/cjs/{resolvedReplyType-1171f904.js → resolvedReplyType-85b4bd7c.js} +1 -1
- package/cjs/{resolvedReplyType-1171f904.js.map → resolvedReplyType-85b4bd7c.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -7
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringFormatterUtils-d6558728.js → stringFormatterUtils-8d6592ca.js} +3 -3
- package/cjs/{stringFormatterUtils-d6558728.js.map → stringFormatterUtils-8d6592ca.js.map} +1 -1
- package/cjs/{stringSet-ac56071f.js → stringSet-d00535a5.js} +1 -1
- package/cjs/{stringSet-ac56071f.js.map → stringSet-d00535a5.js.map} +1 -1
- package/cjs/{tokenize-2fb86225.js → tokenize-9296fc47.js} +2 -2
- package/cjs/{tokenize-2fb86225.js.map → tokenize-9296fc47.js.map} +1 -1
- package/cjs/{topics-c9c872d8.js → topics-adde627b.js} +1 -1
- package/cjs/{topics-c9c872d8.js.map → topics-adde627b.js.map} +1 -1
- package/cjs/{types-205c8c4a.js → types-0b5148cb.js} +1 -1
- package/cjs/{types-205c8c4a.js.map → types-0b5148cb.js.map} +1 -1
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/BottomSheet.js +4 -4
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ContextMenu.js +6 -6
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +14 -14
- package/cjs/ui/FileMessageItemBody.js +7 -7
- package/cjs/ui/FileViewer.js +12 -12
- package/cjs/ui/IconButton.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/MentionLabel.js +11 -11
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +31 -31
- package/cjs/ui/MessageInput/hooks/usePaste.js +4 -4
- package/cjs/ui/MessageInput.js +14 -14
- package/cjs/ui/MessageItemMenu.js +9 -9
- package/cjs/ui/MessageItemReactionMenu.js +9 -9
- package/cjs/ui/MessageSearchFileItem.js +12 -12
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +11 -11
- package/cjs/ui/Modal.js +9 -9
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelFileMessage.js +16 -16
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelThumbnailMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js +16 -16
- 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 +2 -2
- package/cjs/ui/ReactionButton.js +4 -4
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextMessageItemBody.js +14 -14
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThumbnailMessageItemBody.js +7 -7
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- 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 +11 -11
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +11 -11
- package/cjs/{useHandleUploadFiles-068f20f6.js → useHandleUploadFiles-b2fc56e5.js} +10 -10
- package/cjs/{useHandleUploadFiles-068f20f6.js.map → useHandleUploadFiles-b2fc56e5.js.map} +1 -1
- package/cjs/{useLongPress-9d2b1eb4.js → useLongPress-1c0f4696.js} +3 -3
- package/cjs/{useLongPress-9d2b1eb4.js.map → useLongPress-1c0f4696.js.map} +1 -1
- package/cjs/{useSendMultipleFilesMessage-1a45fb93.js → useSendMultipleFilesMessage-81cdc9d0.js} +4 -4
- package/cjs/{useSendMultipleFilesMessage-1a45fb93.js.map → useSendMultipleFilesMessage-81cdc9d0.js.map} +1 -1
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +3 -3
- package/cjs/{utils-37206722.js → utils-418b4438.js} +3 -3
- package/cjs/{utils-37206722.js.map → utils-418b4438.js.map} +1 -1
- package/cjs/{utils-6bfa61f4.js → utils-5bfb4516.js} +1 -1
- package/cjs/{utils-6bfa61f4.js.map → utils-5bfb4516.js.map} +1 -1
- package/cjs/{utils-cd281f86.js → utils-68aa6bf6.js} +4 -4
- package/cjs/{utils-cd281f86.js.map → utils-68aa6bf6.js.map} +1 -1
- package/cjs/{utils-d4ec6413.js → utils-991911af.js} +1 -1
- package/cjs/{utils-d4ec6413.js.map → utils-991911af.js.map} +1 -1
- package/cjs/{utils-e99b939e.js → utils-b34d4e2c.js} +2 -2
- package/cjs/{utils-e99b939e.js.map → utils-b34d4e2c.js.map} +1 -1
- package/cjs/{utils-a7b1d0d5.js → utils-c47c68b1.js} +1 -1
- package/cjs/{utils-a7b1d0d5.js.map → utils-c47c68b1.js.map} +1 -1
- package/cjs/{uuid-b5e00d04.js → uuid-b2806cf5.js} +1 -1
- package/cjs/{uuid-b5e00d04.js.map → uuid-b2806cf5.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-246b5587.js → color-b7f211a8.js} +1 -1
- package/{color-246b5587.js.map → color-b7f211a8.js.map} +1 -1
- package/{compareIds-1c3d8e61.js → compareIds-8ed6e36a.js} +1 -1
- package/{compareIds-1c3d8e61.js.map → compareIds-8ed6e36a.js.map} +1 -1
- package/{const-3660e2f7.js → const-711048c3.js} +1 -1
- package/{const-3660e2f7.js.map → const-711048c3.js.map} +1 -1
- package/{const-74bf821a.js → const-74ec9eb4.js} +1 -1
- package/{const-74bf821a.js.map → const-74ec9eb4.js.map} +1 -1
- package/{consts-78d0c0c7.js → consts-675764c9.js} +1 -1
- package/{consts-78d0c0c7.js.map → consts-675764c9.js.map} +1 -1
- package/{consts-d96200b8.js → consts-691a3935.js} +1 -1
- package/{consts-d96200b8.js.map → consts-691a3935.js.map} +1 -1
- package/{consts-187ad798.js → consts-6ee24012.js} +1 -1
- package/{consts-187ad798.js.map → consts-6ee24012.js.map} +1 -1
- package/{consts-67dafe59.js → consts-eb77e905.js} +1 -1
- package/{consts-67dafe59.js.map → consts-eb77e905.js.map} +1 -1
- package/{context-c3765375.js → context-b4c70964.js} +2 -2
- package/{context-c3765375.js.map → context-b4c70964.js.map} +1 -1
- package/dist/index.css +97 -97
- package/dist/index.css.map +1 -1
- package/{index-758896cd.js → index-128523eb.js} +3 -3
- package/{index-758896cd.js.map → index-128523eb.js.map} +1 -1
- package/{index-210559c2.js → index-13401b87.js} +2 -2
- package/{index-210559c2.js.map → index-13401b87.js.map} +1 -1
- package/{index-8b82957a.js → index-3530f4f6.js} +4 -4
- package/{index-8b82957a.js.map → index-3530f4f6.js.map} +1 -1
- package/{index-6cc7214a.js → index-5cb32ab5.js} +3 -3
- package/{index-6cc7214a.js.map → index-5cb32ab5.js.map} +1 -1
- package/{index-737f53db.js → index-5d6a0f12.js} +3 -3
- package/{index-737f53db.js.map → index-5d6a0f12.js.map} +1 -1
- package/{index-c4504c26.js → index-60a7bf91.js} +5 -5
- package/{index-c4504c26.js.map → index-60a7bf91.js.map} +1 -1
- package/{index-6d4a9265.js → index-7700a436.js} +1 -1
- package/{index-6d4a9265.js.map → index-7700a436.js.map} +1 -1
- package/{index-2a41a6c6.js → index-7946293f.js} +6 -6
- package/{index-2a41a6c6.js.map → index-7946293f.js.map} +1 -1
- package/{index-a53fdda2.js → index-7b7478f5.js} +5 -5
- package/{index-a53fdda2.js.map → index-7b7478f5.js.map} +1 -1
- package/{index-789c7a79.js → index-82178c6a.js} +7 -7
- package/{index-789c7a79.js.map → index-82178c6a.js.map} +1 -1
- package/{index-421912ab.js → index-8a01c364.js} +4 -4
- package/{index-421912ab.js.map → index-8a01c364.js.map} +1 -1
- package/{index-a9cf9f0c.js → index-98138798.js} +2 -2
- package/{index-a9cf9f0c.js.map → index-98138798.js.map} +1 -1
- package/{index-99df638a.js → index-98887e8d.js} +1 -1
- package/{index-99df638a.js.map → index-98887e8d.js.map} +1 -1
- package/{index-3c9c2072.js → index-aa520474.js} +2 -2
- package/{index-3c9c2072.js.map → index-aa520474.js.map} +1 -1
- package/{index-ef318bdf.js → index-ae7ef8cf.js} +4 -4
- package/{index-ef318bdf.js.map → index-ae7ef8cf.js.map} +1 -1
- package/{index-aea86722.js → index-b22c4150.js} +2 -2
- package/{index-aea86722.js.map → index-b22c4150.js.map} +1 -1
- package/{index-3b1ad5b9.js → index-b25ffa7e.js} +4 -4
- package/{index-3b1ad5b9.js.map → index-b25ffa7e.js.map} +1 -1
- package/{index-3d737d32.js → index-c421b228.js} +9 -9
- package/{index-3d737d32.js.map → index-c421b228.js.map} +1 -1
- package/{index-41674ca0.js → index-d99155f7.js} +4 -4
- package/{index-41674ca0.js.map → index-d99155f7.js.map} +1 -1
- package/{index-586ed585.js → index-daa3ae67.js} +2 -2
- package/{index-586ed585.js.map → index-daa3ae67.js.map} +1 -1
- package/{index-c2014124.js → index-e15f6b6a.js} +3 -3
- package/{index-c2014124.js.map → index-e15f6b6a.js.map} +1 -1
- package/index.d.ts +1 -1
- package/index.js +59 -59
- package/{index.module-f7dbc545.js → index.module-60af77d3.js} +1 -1
- package/{index.module-f7dbc545.js.map → index.module-60af77d3.js.map} +1 -1
- package/package.json +1 -1
- package/{resolvedReplyType-a27ce599.js → resolvedReplyType-1a128514.js} +1 -1
- package/{resolvedReplyType-a27ce599.js.map → resolvedReplyType-1a128514.js.map} +1 -1
- package/sendbirdSelectors.js +3 -7
- package/sendbirdSelectors.js.map +1 -1
- package/{stringFormatterUtils-5eb121e0.js → stringFormatterUtils-dbad592d.js} +3 -3
- package/{stringFormatterUtils-5eb121e0.js.map → stringFormatterUtils-dbad592d.js.map} +1 -1
- package/{stringSet-3b92a79f.js → stringSet-2814bf17.js} +1 -1
- package/{stringSet-3b92a79f.js.map → stringSet-2814bf17.js.map} +1 -1
- package/{tokenize-9047b2ad.js → tokenize-4b153552.js} +2 -2
- package/{tokenize-9047b2ad.js.map → tokenize-4b153552.js.map} +1 -1
- package/{topics-1a83bfe7.js → topics-5659403d.js} +1 -1
- package/{topics-1a83bfe7.js.map → topics-5659403d.js.map} +1 -1
- package/{types-8d585099.js → types-89092633.js} +1 -1
- package/{types-8d585099.js.map → types-89092633.js.map} +1 -1
- package/ui/Accordion.js +2 -2
- package/ui/AccordionGroup.js +2 -2
- package/ui/AdminMessage.js +2 -2
- package/ui/Avatar.js +1 -1
- package/ui/Badge.js +4 -4
- package/ui/BottomSheet.js +4 -4
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +6 -6
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +14 -14
- package/ui/FileMessageItemBody.js +7 -7
- package/ui/FileViewer.js +12 -12
- package/ui/IconButton.js +1 -1
- package/ui/Input.js +2 -2
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/MentionLabel.js +11 -11
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +31 -31
- package/ui/MessageInput/hooks/usePaste.js +4 -4
- package/ui/MessageInput.js +14 -14
- package/ui/MessageItemMenu.js +9 -9
- package/ui/MessageItemReactionMenu.js +9 -9
- package/ui/MessageSearchFileItem.js +12 -12
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +11 -11
- package/ui/Modal.js +9 -9
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelFileMessage.js +16 -16
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelThumbnailMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js +16 -16
- 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 +2 -2
- package/ui/ReactionButton.js +4 -4
- package/ui/SortByRow.js +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextMessageItemBody.js +14 -14
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThumbnailMessageItemBody.js +7 -7
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +7 -7
- package/ui/UserListItem.js +11 -11
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +11 -11
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +11 -11
- package/{useHandleUploadFiles-65cb35c2.js → useHandleUploadFiles-406a6c9c.js} +10 -10
- package/{useHandleUploadFiles-65cb35c2.js.map → useHandleUploadFiles-406a6c9c.js.map} +1 -1
- package/{useLongPress-6fec2276.js → useLongPress-5e1ad951.js} +3 -3
- package/{useLongPress-6fec2276.js.map → useLongPress-5e1ad951.js.map} +1 -1
- package/{useSendMultipleFilesMessage-357faf33.js → useSendMultipleFilesMessage-a3a2c84b.js} +4 -4
- package/{useSendMultipleFilesMessage-357faf33.js.map → useSendMultipleFilesMessage-a3a2c84b.js.map} +1 -1
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +3 -3
- package/{utils-bb47ee51.js → utils-0c22998a.js} +4 -4
- package/{utils-bb47ee51.js.map → utils-0c22998a.js.map} +1 -1
- package/{utils-612edb45.js → utils-407da489.js} +1 -1
- package/{utils-612edb45.js.map → utils-407da489.js.map} +1 -1
- package/{utils-2e62b38e.js → utils-7cc92ac2.js} +1 -1
- package/{utils-2e62b38e.js.map → utils-7cc92ac2.js.map} +1 -1
- package/{utils-0efd22d6.js → utils-b97d5113.js} +3 -3
- package/{utils-0efd22d6.js.map → utils-b97d5113.js.map} +1 -1
- package/{utils-d6a054be.js → utils-cae84d8a.js} +2 -2
- package/{utils-d6a054be.js.map → utils-cae84d8a.js.map} +1 -1
- package/{utils-d95fe8c1.js → utils-ebf008e2.js} +1 -1
- package/{utils-d95fe8c1.js.map → utils-ebf008e2.js.map} +1 -1
- package/{uuid-9bb4bc3e.js → uuid-16373bba.js} +1 -1
- package/{uuid-9bb4bc3e.js.map → uuid-16373bba.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-3b34756f.js.map +0 -1
- package/_rollupPluginBabelHelpers-51534391.js.map +0 -1
- package/cjs/ChannelListProvider-0e8c13a1.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-2387ee47.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$1 = require('./index-
|
|
4
|
-
var index = require('./index-
|
|
3
|
+
var index$1 = require('./index-4eb7e2b5.js');
|
|
4
|
+
var index = require('./index-c9b003b3.js');
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @name isToday
|
|
@@ -175,4 +175,4 @@ function isYesterday(dirtyDate) {
|
|
|
175
175
|
exports.isThisYear = isThisYear;
|
|
176
176
|
exports.isToday = isToday;
|
|
177
177
|
exports.isYesterday = isYesterday;
|
|
178
|
-
//# sourceMappingURL=index-
|
|
178
|
+
//# sourceMappingURL=index-11f9cc0f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-11f9cc0f.js","sources":["../../node_modules/date-fns/esm/isToday/index.js","../../node_modules/date-fns/esm/isSameYear/index.js","../../node_modules/date-fns/esm/isThisYear/index.js","../../node_modules/date-fns/esm/addDays/index.js","../../node_modules/date-fns/esm/subDays/index.js","../../node_modules/date-fns/esm/isYesterday/index.js"],"sourcesContent":["import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nexport default function isSameYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}","import isSameYear from \"../isSameYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is in this year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\n\nexport default function isThisYear(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameYear(dirtyDate, Date.now());\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * const result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}"],"names":["requiredArgs","isSameDay","toDate","toInteger"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var PropTypes = require('prop-types');
|
|
5
|
-
var stringSet = require('./stringSet-
|
|
5
|
+
var stringSet = require('./stringSet-d00535a5.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -126,4 +126,4 @@ exports.LabelColors = LabelColors;
|
|
|
126
126
|
exports.LabelStringSet = LabelStringSet;
|
|
127
127
|
exports.LabelTypography = LabelTypography;
|
|
128
128
|
exports.changeColorToClassName = changeColorToClassName;
|
|
129
|
-
//# sourceMappingURL=index-
|
|
129
|
+
//# sourceMappingURL=index-18720f0d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-18720f0d.js","sources":["../../src/ui/Label/types.js","../../src/ui/Label/utils.js","../../src/ui/Label/index.jsx"],"sourcesContent":["export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return '';\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-label--color-onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return '';\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nexport default function Label({\n className,\n type,\n color,\n children,\n}) {\n return (\n // Donot make this into div\n // Mention uses Label. If we use div, it would break the mention detection on Paste\n // https://github.com/sendbird/sendbird-uikit-react/pull/479\n <span\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-label',\n type ? changeTypographyToClassName(type) : '',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n >\n {children}\n </span>\n );\n}\n\nLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.string,\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n};\n\nLabel.defaultProps = {\n className: [],\n type: '',\n color: '',\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n"],"names":["Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","Colors","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ONCONTENT_1","ONCONTENT_2","PRIMARY","ERROR","SECONDARY_3","changeTypographyToClassName","type","changeColorToClassName","color","Label","_ref","className","children","React","createElement","Array","isArray","join","propTypes","PropTypes","oneOfType","string","arrayOf","number","element","any","defaultProps","LabelTypography","LabelColors","LabelStringSet","getStringSet"],"mappings":"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"}
|
|
@@ -5,19 +5,19 @@ var ui_Button = require('./ui/Button.js');
|
|
|
5
5
|
var ui_ContextMenu = require('./ui/ContextMenu.js');
|
|
6
6
|
var ui_Icon = require('./ui/Icon.js');
|
|
7
7
|
var ui_IconButton = require('./ui/IconButton.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var UserProfileContext = require('./UserProfileContext-
|
|
11
|
-
require('./context-
|
|
8
|
+
var ui_Label = require('./index-18720f0d.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-482c1343.js');
|
|
10
|
+
var UserProfileContext = require('./UserProfileContext-fa8d0383.js');
|
|
11
|
+
require('./context-bd2878ff.js');
|
|
12
12
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
13
13
|
require('react-dom');
|
|
14
|
-
require('./index.module-
|
|
14
|
+
require('./index.module-a24e9cd7.js');
|
|
15
15
|
var ui_MutedAvatarOverlay = require('./ui/MutedAvatarOverlay.js');
|
|
16
16
|
var ui_UserProfile = require('./ui/UserProfile.js');
|
|
17
17
|
require('@sendbird/chat/openChannel');
|
|
18
18
|
var ui_Modal = require('./ui/Modal.js');
|
|
19
19
|
var ui_UserListItem = require('./ui/UserListItem.js');
|
|
20
|
-
var utils = require('./utils-
|
|
20
|
+
var utils = require('./utils-c47c68b1.js');
|
|
21
21
|
var OpenChannelSettings_context = require('./OpenChannelSettings/context.js');
|
|
22
22
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
23
23
|
|
|
@@ -365,4 +365,4 @@ function ParticipantList(_ref) {
|
|
|
365
365
|
|
|
366
366
|
exports.ParticipantList = ParticipantList;
|
|
367
367
|
exports.UserListItem = UserListItem;
|
|
368
|
-
//# sourceMappingURL=index-
|
|
368
|
+
//# sourceMappingURL=index-1a9fdbb4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-f7ac45b5.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 {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <>\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 currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {(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","_ref","_state$config","_state$stores","_state$stores$sdkStor","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","participants","setParticipants","useState","participantListQuery","setParticipantListQuery","userId","config","sdk","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","map","p","_sdk$currentUser","UserListItem","user","key","currentUser","action","_ref2","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","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","disableUserProfile","renderUserProfile","UserProfileContext","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$config","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-1a9fdbb4.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 {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <>\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 currentUser = globalState?.config?.userId;\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel?.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel?.createParticipantListQuery({});\n participantListQuery.next().then((participantList) => {\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n <Accordion\n className=\"sendbird-participants-accordion\"\n id=\"participants\"\n renderTitle={() => (\n <>\n <Icon\n type={IconTypes.MEMBERS}\n fillColor={IconColors.PRIMARY}\n width={24}\n height={24}\n className=\"sendbird-openchannel-settings__accordion-icon\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n </Label>\n </>\n )}\n renderContent={() => (\n <div className=\"\">\n <div className=\"sendbird-participants-accordion__list\">\n {\n participants.slice(0, maxMembers).map((p) => (\n <UserListItem\n user={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {(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","_ref","_state$config","_state$stores","_state$stores$sdkStor","onCancel","state","useSendbirdStateContext","channel","useOpenChannelSettingsContext","stringSet","useContext","LocalizationContext","participants","setParticipants","useState","participantListQuery","setParticipantListQuery","userId","config","sdk","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","map","p","_sdk$currentUser","UserListItem","user","key","currentUser","action","_ref2","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","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","disableUserProfile","renderUserProfile","UserProfileContext","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$config","globalState","showParticipantsModal","setShowParticipantsModal","limit","refreshList","useCallback","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","size","ButtonSizes","SMALL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBe,SAASA,iBAAiBA,CAAAC,IAAA,EAEjB;AAAA,EAAA,IAAAC,aAAA,EAAAC,aAAA,EAAAC,qBAAA,CAAA;EAAA,IAFkB;AACxCC,IAAAA,QAAAA;AACK,GAAC,GAAAJ,IAAA,CAAA;EACN,MAAMK,KAAK,GAAGC,uBAAuB,EAAE,CAAA;EACvC,MAAM;AAAEC,IAAAA,OAAAA;GAAS,GAAGC,yDAA6B,EAAE,CAAA;EACnD,MAAM;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAQ,CAAqB,EAAE,CAAC,CAAA;EACxE,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGF,cAAQ,CAA8B,IAAI,CAAC,CAAA;AACnG,EAAA,MAAMG,MAAM,GAAGZ,KAAK,KAALA,IAAAA,IAAAA,KAAK,wBAAAJ,aAAA,GAALI,KAAK,CAAEa,MAAM,MAAAjB,IAAAA,IAAAA,aAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAA,CAAegB,MAAM,CAAA;EACpC,MAAME,GAAG,GAAGd,KAAK,KAALA,IAAAA,IAAAA,KAAK,wBAAAH,aAAA,GAALG,KAAK,CAAEe,MAAM,MAAA,IAAA,IAAAlB,aAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAbD,aAAA,CAAemB,QAAQ,cAAAlB,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyBgB,GAAG,CAAA;EACxC,MAAMG,cAAc,GAAGf,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEgB,UAAU,CAACN,MAAM,CAAC,CAAA;AAClDO,EAAAA,eAAS,CAAC,MAAM;IACd,IAAI,CAACjB,OAAO,IAAI,EAACA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAEkB,0BAA0B,CAAE,EAAA;AACpD,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAMV,oBAAoB,GAAGR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEkB,0BAA0B,CAAC,EAAE,CAAC,CAAA;IACpET,uBAAuB,CAACD,oBAAoB,CAAC,CAAA;AAC7CA,IAAAA,oBAAoB,CAACW,IAAI,EAAE,CAACC,IAAI,CAAEC,eAAe,IAAK;MACpDf,eAAe,CAACe,eAAe,CAAC,CAAA;AAClC,KAAC,CAAC,CAAA;GACH,EAAE,EAAE,CAAC,CAAA;EACN,oBACEC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACED,yBAAA,CAAAC,aAAA,CAACC,cAAK,EAAA;IACJC,UAAU,EAAA,IAAA;IACVC,oBAAoB,EAAA,IAAA;AACpB7B,IAAAA,QAAQ,EAAEA,MAAMA,QAAQ,EAAG;AAC3B8B,IAAAA,QAAQ,EAAEC,UAAK;IACfC,SAAS,EAAE3B,SAAS,CAAC4B,6CAAAA;GAErBR,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEQ,IAAAA,SAAS,EAAC,qCAAqC;IAC/CC,QAAQ,EAAGC,CAAC,IAAK;MACf,MAAM;AAAEC,QAAAA,OAAAA;AAAQ,OAAC,GAAG1B,oBAAoB,CAAA;AACxC,MAAA,MAAM2B,MAAM,GAAGF,CAAC,CAACE,MAA6B,CAAA;AAC9C,MAAA,MAAMC,SAAS,GACbD,MAAM,CAACE,YAAY,GAAGF,MAAM,CAACG,SAAS,KAAKH,MAAM,CAACI,YACnD,CAAA;MAED,IAAIL,OAAO,IAAIE,SAAS,EAAE;AACxB5B,QAAAA,oBAAoB,CAACW,IAAI,EAAE,CAACC,IAAI,CAAEoB,mBAAmB,IAAK;UACxDlC,eAAe,CAAC,CACd,GAAGD,YAAY,EACf,GAAGmC,mBAAmB,CACvB,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AAAE,GAAA,EAGAnC,YAAY,CAACoC,GAAG,CAAEC,CAAc,IAAK;AAAA,IAAA,IAAAC,gBAAA,CAAA;AACnC,IAAA,MAAM3B,UAAU,GAAGhB,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgB,UAAU,CAAC0B,CAAC,CAAChC,MAAM,CAAC,CAAA;AAChD,IAAA,oBACEY,yBAAA,CAAAC,aAAA,CAACqB,eAAY,EAAA;AACXC,MAAAA,IAAI,EAAEH,CAAE;MACRI,GAAG,EAAEJ,CAAC,CAAChC,MAAO;AACdqC,MAAAA,WAAW,EAAEnC,GAAG,KAAHA,IAAAA,IAAAA,GAAG,wBAAA+B,gBAAA,GAAH/B,GAAG,CAAEmC,WAAW,MAAAJ,IAAAA,IAAAA,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBjC,MAAO;MACtCsC,MAAM,EACHtC,MAAM,KAAKgC,CAAC,CAAChC,MAAM,IAAIK,cAAc,GAClCkC,KAAA,IAAA;QAAA,IAAC;UAAEC,SAAS;AAAEC,UAAAA,SAAAA;AAAU,SAAC,GAAAF,KAAA,CAAA;AAAA,QAAA,oBACzB3B,yBAAA,CAAAC,aAAA,CAAC6B,yBAAW,EAAA;AACVC,UAAAA,WAAW,EAAGC,cAAc,iBAC1BhC,yBAAA,CAAAC,aAAA,CAACgC,aAAU,EAAA;AACTxB,YAAAA,SAAS,EAAC,mCAAmC;AAC7CyB,YAAAA,KAAK,EAAC,MAAM;AACZC,YAAAA,MAAM,EAAC,MAAM;AACbC,YAAAA,OAAO,EAAEJ,cAAAA;AAAe,WAAA,eAExBhC,yBAAA,CAAAC,aAAA,CAACoC,kBAAI,EAAA;AACHH,YAAAA,KAAK,EAAC,MAAM;AACZC,YAAAA,MAAM,EAAC,MAAM;YACbG,IAAI,EAAEC,iBAAS,CAACC,IAAK;YACrBC,SAAS,EAAEC,kBAAU,CAACC,eAAAA;AAAgB,WAAA,CACtC,CAEJ;AACFC,UAAAA,SAAS,EAAGC,aAAa,iBACvB7C,yBAAA,CAAAC,aAAA,CAAC6C,wBAAS,EAAA;AACRC,YAAAA,gBAAgB,EAAElB,SAAU;AAC5BA,YAAAA,SAAS,EAAED,SAAU;AACrBiB,YAAAA,aAAa,EAAEA,aAAc;YAC7BG,QAAQ,EAAA,IAAA;AAAA,WAAA,eAERhD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;AACb,cAAA,IAAI1C,UAAU,EAAE;AACdhB,gBAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEwE,eAAe,CAAC,CAAC9B,CAAC,CAAChC,MAAM,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;AAC9C+C,kBAAAA,aAAa,EAAE,CAAA;AACjB,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLnE,gBAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEyE,YAAY,CAAC,CAAC/B,CAAC,CAAChC,MAAM,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;AAC3C+C,kBAAAA,aAAa,EAAE,CAAA;AACjB,iBAAC,CAAC,CAAA;AACJ,eAAA;aACA;AACFO,YAAAA,QAAQ,EAAG,CACT1D,8CAAAA,EAAAA,UAAU,GAAI,qBAAqB,GAAG,sBAAuB,CAAA,CAAA;AAC9D,WAAA,EAGCA,UAAU,GACNd,SAAS,CAACyE,qDAAqD,GAC/DzE,SAAS,CAAC0E,sDAAsD,CAE7D,eACXtD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;cACb,IAAIhB,CAAC,CAACmC,OAAO,EAAE;AACb7E,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE8E,UAAU,CAACpC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAChC+C,kBAAAA,aAAa,EAAE,CAAA;AACjB,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLnE,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE+E,QAAQ,CAACrC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC9B+C,kBAAAA,aAAa,EAAE,CAAA;AACjB,iBAAC,CAAC,CAAA;AACJ,eAAA;aACA;YACFO,QAAQ,EAAG,iDAAgDhC,CAAC,CAACmC,OAAO,GAAG,QAAQ,GAAG,MAAO,CAAA,CAAA;AACxF,WAAA,EAGCnC,CAAC,CAACmC,OAAO,GACL3E,SAAS,CAAC8E,wCAAwC,GAClD9E,SAAS,CAAC+E,sCAAsC,CAE7C,eACX3D,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;AACb1D,cAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkF,OAAO,CAACxC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC7B+C,gBAAAA,aAAa,EAAE,CAAA;AACjB,eAAC,CAAC,CAAA;aACF;AACFO,YAAAA,QAAQ,EAAC,mDAAA;WAERxE,EAAAA,SAAS,CAACiF,qCAAqC,CACvC,CAAA;SAGf,CAAA,CAAA;AAAA,OACH,GACC,IAAA;KAEN,CAAA,CAAA;GAEL,CAAC,CAEA,CACA,CACJ,CAAA;AAEV;;AC1IavC,MAAAA,YAAyC,GAAGnD,IAAA,IAKhC;EAAA,IALiC;IACxDoD,IAAI;IACJE,WAAW;IACX/B,UAAU;AACVgC,IAAAA,MAAAA;AACiB,GAAC,GAAAvD,IAAA,CAAA;AAClB,EAAA,MAAM2F,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAC9B,EAAA,MAAMnC,SAAS,GAAGmC,YAAM,CAAC,IAAI,CAAC,CAAA;EAC9B,MAAM;IACJC,kBAAkB;AAClBC,IAAAA,iBAAAA;AACF,GAAC,GAAGpF,gBAAU,CAACqF,qCAAkB,CAAC,CAAA;EAClC,MAAM;AAAEtF,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,oBACEkB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,yCAAA;GACbT,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,gDAAA;AAAgD,GAAA,eAC7DT,yBAAA,CAAAC,aAAA,CAAC6B,yBAAW,EAAA;AACVC,IAAAA,WAAW,EAAGC,cAAc,iBAC1BhC,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAmE,QAAA,EACEnE,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACmE,oBAAM,EAAA;AACL3D,MAAAA,SAAS,EAAC,wDAAwD;MAClE2B,OAAO,EAAEA,MAAM;QACb,IAAI,CAAC4B,kBAAkB,EAAE;AACvBhC,UAAAA,cAAc,EAAE,CAAA;AAClB,SAAA;OACA;AACFqC,MAAAA,GAAG,EAAEP,SAAU;MACfQ,GAAG,EAAE/C,IAAI,CAACgD,UAAW;AACrBrC,MAAAA,KAAK,EAAE,EAAG;AACVC,MAAAA,MAAM,EAAE,EAAA;AAAG,KAAA,CACX,EACDZ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,IAAJA,IAAI,CAAEgC,OAAO,gBAAIvD,yBAAA,CAAAC,aAAA,CAACuE,qBAAkB,EAAG,IAAA,CAAA,GAAI,EAAE,CAEhD;AACF5B,IAAAA,SAAS,EAAGC,aAAa,iBACvB7C,yBAAA,CAAAC,aAAA,CAAC6C,wBAAS,EAAA;MACRE,QAAQ,EAAA,IAAA;AACRnB,MAAAA,SAAS,EAAEiC,SAAAA;AACX;AAAA;AACAf,MAAAA,gBAAgB,EAAEe,SAAAA;AAClB;AAAA;AACAjB,MAAAA,aAAa,EAAEA,aAAc;AAC7B4B,MAAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAG/CV,EAAAA,iBAAiB,GACbA,iBAAiB,CAAC;AAClB1C,MAAAA,IAAI,EAAEA,IAAI;AACVqD,MAAAA,aAAa,EAAEnD,WAAW;AAC1BoD,MAAAA,KAAK,EAAEhC,aAAAA;AACT,KAAC,CAAC,gBAEA7C,yBAAA,CAAAC,aAAA,CAAC6E,cAAW,EAAA;MACVC,gBAAgB,EAAA,IAAA;AAChBxD,MAAAA,IAAI,EAAEA,IAAK;AACXqD,MAAAA,aAAa,EAAEnD,WAAY;AAC3BuD,MAAAA,SAAS,EAAEnC,aAAAA;KAEd,CAAA,CAAA;AAGP,GAAA,CACF,CACE,eACN7C,yBAAA,CAAAC,aAAA,CAACgF,cAAK,EAAA;AACJxE,IAAAA,SAAS,EAAC,gDAAgD;IAC1D6B,IAAI,EAAE4C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC/D,IAAI,CAACgE,QAAQ,IAAI3G,SAAS,CAAC4G,OAAO,EAEhC/D,WAAW,KAAKF,IAAI,CAACnC,MAAM,IAC1BR,SAAS,CAAC6G,mCACX,CAEG;AACN;EACA,CAAClE,IAAI,CAACgE,QAAQ,iBACZvF,yBAAA,CAAAC,aAAA,CAACgF,cAAK,EAAA;AACJxE,IAAAA,SAAS,EAAC,wDAAwD;IAClE6B,IAAI,EAAE4C,wBAAe,CAACQ,SAAU;IAChCN,KAAK,EAAEC,oBAAW,CAACM,cAAAA;GAElBpE,EAAAA,IAAI,CAACnC,MAAM,CAEf,EAGDM,UAAU,iBACRM,yBAAA,CAAAC,aAAA,CAACgF,cAAK,EAAA;AACJxE,IAAAA,SAAS,EACN,CAAA;AACf,gBAAA,EAAkB,CAAAc,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEnC,MAAM,MAAKqC,WAAW,GAAG,UAAU,GAAG,EAAG,CAAA;AACjE,gBAAA,EAAkB,CAAAF,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEnC,MAAM,MAAKqC,WAAW,GAAG,eAAe,GAAG,EAAG,CAAA;AACtE,cACa,CAAA;IACDa,IAAI,EAAE4C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACM,cAAAA;GAElB/G,EAAAA,SAAS,CAACgH,wCAAwC,CAEtD,EAGDlE,MAAM,iBACJ1B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEQ,IAAAA,SAAS,EAAC,iDAAiD;AAC3D4D,IAAAA,GAAG,EAAEzC,SAAAA;AAAU,GAAA,EAEdF,MAAM,CAAC;AAAEE,IAAAA,SAAAA;GAAW,CAAC,CAEzB,CAEC,CAAA;AAEV;;AC5He,SAASiE,eAAeA,CAAA1H,IAAA,EAEA;AAAA,EAAA,IAAA2H,mBAAA,CAAA;EAAA,IAFC;AACtCrG,IAAAA,cAAc,GAAG,KAAA;AACG,GAAC,GAAAtB,IAAA,CAAA;EACrB,MAAM4H,WAAW,GAAGtH,uBAAuB,EAAE,CAAA;AAC7C,EAAA,MAAMmG,aAAa,GAAGmB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,wBAAAD,mBAAA,GAAXC,WAAW,CAAE1G,MAAM,MAAAyG,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqB1G,MAAM,CAAA;EACjD,MAAM;AAAEV,IAAAA,OAAAA;GAAS,GAAGC,yDAA6B,EAAE,CAAA;EACnD,MAAM;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,gBAAU,CAACC,uCAAmB,CAAC,CAAA;EACrD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAQ,CAAqB,IAAI,CAAC,CAAA;EAC1E,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGF,cAAQ,CAA8B,IAAI,CAAC,CAAA;EACnG,MAAM,CAAC+G,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGhH,cAAQ,CAAU,KAAK,CAAC,CAAA;AAClFU,EAAAA,eAAS,CAAC,MAAM;IACd,IAAI,CAACjB,OAAO,IAAI,EAACA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAEkB,0BAA0B,CAAE,EAAA;AACpD,MAAA,OAAA;AACF,KAAA;IACA,MAAMV,oBAAoB,GAAGR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkB,0BAA0B,CAAC;AAAEsG,MAAAA,KAAK,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;IAC/E/G,uBAAuB,CAACD,oBAAoB,CAAC,CAAA;AAC7CA,IAAAA,oBAAoB,CAACW,IAAI,EAAE,CAACC,IAAI,CAAEf,YAAY,IAAK;MACjDC,eAAe,CAACD,YAAY,CAAC,CAAA;AAC/B,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACL,OAAO,CAAC,CAAC,CAAA;AACb,EAAA,MAAMyH,WAAW,GAAGC,iBAAW,CAAC,MAAM;IACpC,IAAI,CAAC1H,OAAO,EAAE;MACZM,eAAe,CAAC,EAAE,CAAC,CAAA;AACnB,MAAA,OAAA;AACF,KAAA;IACA,MAAME,oBAAoB,GAAGR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkB,0BAA0B,CAAC;AAAEsG,MAAAA,KAAK,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;AAC/EhH,IAAAA,oBAAoB,CAACW,IAAI,EAAE,CAACC,IAAI,CAAEf,YAAY,IAAK;MACjDC,eAAe,CAACD,YAAY,CAAC,CAAA;AAC/B,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACL,OAAO,CAAC,CAAC,CAAA;EACb,oBACEsB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEQ,IAAAA,SAAS,EAAC,iDAAiD;IAC3DC,QAAQ,EAAGC,CAAC,IAAK;MACf,MAAM;AAAEC,QAAAA,OAAAA;AAAQ,OAAC,GAAG1B,oBAAoB,CAAA;AACxC,MAAA,MAAM2B,MAAM,GAAGF,CAAC,CAACE,MAA6B,CAAA;AAC9C,MAAA,MAAMC,SAAS,GACbD,MAAM,CAACE,YAAY,GAAGF,MAAM,CAACG,SAAS,KAAKH,MAAM,CAACI,YACnD,CAAA;MAED,IAAIL,OAAO,IAAIE,SAAS,EAAE;AACxB5B,QAAAA,oBAAoB,CAACW,IAAI,EAAE,CAACC,IAAI,CAAEoB,mBAAmB,IAAK;UACxDlC,eAAe,CAAC,CACd,GAAGD,YAAY,EACf,GAAGmC,mBAAmB,CACvB,CAAC,CAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AAAE,GAAA,eAEFlB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EAEIlB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEoC,GAAG,CAAEC,CAAc,IAAK;AACpC,IAAA,MAAM1B,UAAU,GAAGhB,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgB,UAAU,CAAC0B,CAAC,CAAChC,MAAM,CAAC,CAAA;AAChD,IAAA,oBACEY,yBAAA,CAAAC,aAAA,CAACqB,YAAY,EAAA;AACXC,MAAAA,IAAI,EAAEH,CAAE;AACRK,MAAAA,WAAW,EAAEmD,aAAc;MAC3BpD,GAAG,EAAEJ,CAAC,CAAChC,MAAO;AACdM,MAAAA,UAAU,EAAEA,UAAW;AACvBgC,MAAAA,MAAM,EAAEC,KAAA,IAAA;QAAA,IAAC;AAAEC,UAAAA,SAAAA;AAAU,SAAC,GAAAD,KAAA,CAAA;AAAA,QAAA,OACnBlC,cAAc,IAAImF,aAAa,MAAKxD,CAAC,aAADA,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAEhC,MAAM,CAE1CY,gBAAAA,yBAAA,CAAAC,aAAA,CAAC6B,yBAAW,EAAA;AACVC,UAAAA,WAAW,EAAGC,cAAc,iBAC1BhC,yBAAA,CAAAC,aAAA,CAACgC,aAAU,EAAA;AACTxB,YAAAA,SAAS,EAAC,6CAA6C;AACvDyB,YAAAA,KAAK,EAAC,MAAM;AACZC,YAAAA,MAAM,EAAC,MAAM;AACbC,YAAAA,OAAO,EAAEJ,cAAAA;AAAe,WAAA,eAExBhC,yBAAA,CAAAC,aAAA,CAACoC,kBAAI,EAAA;AACHH,YAAAA,KAAK,EAAC,MAAM;AACZC,YAAAA,MAAM,EAAC,MAAM;YACbG,IAAI,EAAEC,iBAAS,CAACC,IAAK;YACrBC,SAAS,EAAEC,kBAAU,CAACC,eAAAA;AAAgB,WAAA,CACtC,CAEJ;AACFC,UAAAA,SAAS,EAAGC,aAAa,iBACvB7C,yBAAA,CAAAC,aAAA,CAAC6C,wBAAS,EAAA;AACRjB,YAAAA,SAAS,EAAED,SAAU;AACrBiB,YAAAA,aAAa,EAAEA,aAAc;YAC7BG,QAAQ,EAAA,IAAA;AAAA,WAAA,eAERhD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;AACb,cAAA,IAAI1C,UAAU,EAAE;AACdhB,gBAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEwE,eAAe,CAAC,CAAC9B,CAAC,CAAChC,MAAM,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;AAC9C+C,kBAAAA,aAAa,EAAE,CAAA;AACfsD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLzH,gBAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEyE,YAAY,CAAC,CAAC/B,CAAC,CAAChC,MAAM,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;AAC3C+C,kBAAAA,aAAa,EAAE,CAAA;AACfsD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAA;aACA;AACF/C,YAAAA,QAAQ,EAAG,CACT1D,6CAAAA,EAAAA,UAAU,GAAI,qBAAqB,GAAG,sBAAuB,CAAA,CAAA;AAC9D,WAAA,EAGCA,UAAU,GACNd,SAAS,CAACyE,qDAAqD,GAC/DzE,SAAS,CAAC0E,sDAAsD,CAE7D,eACXtD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;cACb,IAAIhB,CAAC,CAACmC,OAAO,EAAE;AACb7E,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE8E,UAAU,CAACpC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAChC+C,kBAAAA,aAAa,EAAE,CAAA;AACfsD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLzH,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE+E,QAAQ,CAACrC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC9B+C,kBAAAA,aAAa,EAAE,CAAA;AACfsD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAA;aACA;YACF/C,QAAQ,EAAG,gDAA+ChC,CAAC,CAACmC,OAAO,GAAG,QAAQ,GAAG,MAAO,CAAA,CAAA;AAAE,WAAA,EAGxFnC,CAAC,CAACmC,OAAO,GACL3E,SAAS,CAAC8E,wCAAwC,GAClD9E,SAAS,CAAC+E,sCAAsC,CAE7C,eACX3D,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;AACb1D,cAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEkF,OAAO,CAACxC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC7B+C,gBAAAA,aAAa,EAAE,CAAA;AACfsD,gBAAAA,WAAW,EAAE,CAAA;AACf,eAAC,CAAC,CAAA;aACF;AACF/C,YAAAA,QAAQ,EAAC,kDAAA;WAERxE,EAAAA,SAAS,CAACiF,qCAAqC,CACvC,CAAA;AAEb,SAAA,CACF,GAEF,IAAI,CAAA;AAAA,OAAA;KAEV,CAAA,CAAA;AAEN,GAAC,CAAC,EAGD9E,YAAY,IAAIA,YAAY,CAACsH,MAAM,KAAK,CAAC,gBAEtCrG,yBAAA,CAAAC,aAAA,CAACgF,cAAK,EAAA;AACJxE,IAAAA,SAAS,EAAC,uCAAuC;IACjD6B,IAAI,EAAE4C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACiB,cAAAA;GAElB1H,EAAAA,SAAS,CAAC2H,iCAAiC,CACtC,GACN,IAAI,eAEZvG,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,SAAS,EAAC,+CAAA;AAA+C,GAAA,EAE1D,CAAAvB,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAE0B,OAAO,kBAC3BZ,yBAAA,CAAAC,aAAA,CAACuG,oBAAM,EAAA;IACLlE,IAAI,EAAEmE,qBAAW,CAACC,SAAU;IAC5BC,IAAI,EAAEC,qBAAW,CAACC,KAAM;AACxBzE,IAAAA,OAAO,EAAEA,MAAM6D,wBAAwB,CAAC,IAAI,CAAA;AAAE,GAAA,EAE7CrH,SAAS,CAAC4B,6CAA6C,CAE3D,CAEC,EAEJwF,qBAAqB,iBACnBhG,yBAAA,CAAAC,aAAA,CAAC/B,iBAAiB,EAAA;IAChBK,QAAQ,EAAEA,MAAM;MACd0H,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC/BE,MAAAA,WAAW,EAAE,CAAA;AACf,KAAA;AAAE,GAAA,CAEL,CAEC,CACF,CAAA;AAEV;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
5
|
-
var consts = require('./consts-
|
|
4
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-83d7e84b.js');
|
|
5
|
+
var consts = require('./consts-fb07c671.js');
|
|
6
6
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -327,4 +327,4 @@ exports.AudioUnitDefaultValue = AudioUnitDefaultValue;
|
|
|
327
327
|
exports.VOICE_PLAYER_STATUS = VOICE_PLAYER_STATUS;
|
|
328
328
|
exports.VoicePlayerProvider = VoicePlayerProvider;
|
|
329
329
|
exports.useVoicePlayerContext = useVoicePlayerContext;
|
|
330
|
-
//# sourceMappingURL=index-
|
|
330
|
+
//# sourceMappingURL=index-1f6b30ea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-321b7779.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n};\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VOICE_PLAYER_STATUS.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './actionTypes';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VOICE_PLAYER_STATUS,\n} from './initialState';\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n};\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-1f6b30ea.js","sources":["../../src/hooks/VoicePlayer/dux/actionTypes.ts","../../src/hooks/VoicePlayer/dux/initialState.ts","../../src/hooks/VoicePlayer/dux/reducer.ts","../../src/hooks/VoicePlayer/index.tsx"],"sourcesContent":["import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\n\nexport const actionTypes = {\n INITIALIZE_AUDIO_UNIT: 'INITIALIZE_AUDIO_UNIT',\n SET_CURRENT_PLAYER: 'SET_CURRENT_PLAYER',\n ON_VOICE_PLAYER_PLAY: 'ON_VOICE_PLAYER_PLAY',\n ON_VOICE_PLAYER_PAUSE: 'ON_VOICE_PLAYER_PAUSE',\n ON_CURRENT_TIME_UPDATE: 'ON_CURRENT_TIME_UPDATE',\n} as const;\n\nexport type VoicePlayerActionType = ObjectValues<typeof actionTypes>;\n\nexport const INITIALIZE_AUDIO_UNIT: VoicePlayerActionType = 'INITIALIZE_AUDIO_UNIT';\nexport const SET_CURRENT_PLAYER: VoicePlayerActionType = 'SET_CURRENT_PLAYER';\nexport const ON_VOICE_PLAYER_PLAY: VoicePlayerActionType = 'ON_VOICE_PLAYER_PLAY';\nexport const ON_VOICE_PLAYER_PAUSE: VoicePlayerActionType = 'ON_VOICE_PLAYER_PAUSE';\nexport const ON_CURRENT_TIME_UPDATE: VoicePlayerActionType = 'ON_CURRENT_TIME_UPDATE';\n","import { ObjectValues } from '../../../utils/typeHelpers/objectValues';\nimport { GroupKey } from '../utils';\n\nexport const VOICE_PLAYER_STATUS = {\n IDLE: 'IDLE',\n PREPARING: 'PREPARING',\n PLAYING: 'PLAYING',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n} as const;\n// VoicePlayerStatus should be deprecated / It's left for backward legacy\nexport const VoicePlayerStatus = VOICE_PLAYER_STATUS;\nexport type VoicePlayerStatusType = ObjectValues<typeof VOICE_PLAYER_STATUS>;\n\nexport type AudioStorageUnit = {\n playingStatus: VoicePlayerStatusType;\n audioFile: null | File;\n playbackTime: number;\n duration: number;\n};\nexport const AudioUnitDefaultValue = (): AudioStorageUnit => ({\n audioFile: null,\n playbackTime: 0,\n duration: 1000,\n playingStatus: VOICE_PLAYER_STATUS.IDLE,\n});\n\nexport interface VoicePlayerInitialState {\n currentPlayer: null | HTMLAudioElement;\n currentGroupKey: string;\n audioStorage: Record<GroupKey, AudioStorageUnit>;\n}\n\nexport const voicePlayerInitialState: VoicePlayerInitialState = {\n currentPlayer: null,\n currentGroupKey: '',\n audioStorage: {},\n};\n","import {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './actionTypes';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n VOICE_PLAYER_STATUS,\n} from './initialState';\n\ntype InitializeAudioUnitPayload = { groupKey: string };\ntype SetCurrentPlayerPayload = { audioPlayer: HTMLAudioElement, groupKey: string };\ntype OnVoicePlayerPlayPayload = { groupKey: string, audioFile: File };\ntype OnVoicePlayerPausePayload = { groupKey: string };\ntype OnCurrentTimeUpdatePayload = { groupKey: string };\ntype PayloadType = (\n InitializeAudioUnitPayload\n | SetCurrentPlayerPayload\n | OnVoicePlayerPlayPayload\n | OnVoicePlayerPausePayload\n | OnCurrentTimeUpdatePayload\n);\ntype ActionType = {\n type: string;\n payload: PayloadType;\n};\n\nexport default function voicePlayerReducer(\n state: VoicePlayerInitialState,\n action: ActionType,\n): VoicePlayerInitialState {\n switch (action.type) {\n case INITIALIZE_AUDIO_UNIT: {\n const { groupKey } = action.payload as InitializeAudioUnitPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PREPARING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case SET_CURRENT_PLAYER: {\n const { audioPlayer, groupKey } = action.payload as SetCurrentPlayerPayload;\n return {\n ...state,\n currentPlayer: audioPlayer,\n currentGroupKey: groupKey,\n };\n }\n case ON_VOICE_PLAYER_PLAY: {\n const { groupKey, audioFile } = action.payload as OnVoicePlayerPlayPayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.audioFile = audioFile;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PLAYING;\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_VOICE_PLAYER_PAUSE: {\n const { groupKey } = action.payload as OnVoicePlayerPausePayload;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n audioUnit.playingStatus = VOICE_PLAYER_STATUS.PAUSED;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n if (audioUnit.playbackTime === audioUnit.duration) {\n audioUnit.playbackTime = 0;\n } else if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n case ON_CURRENT_TIME_UPDATE: {\n const { groupKey } = action.payload as OnCurrentTimeUpdatePayload;\n const { currentTime, duration } = state.currentPlayer as HTMLAudioElement;\n const audioUnit = (state.audioStorage?.[groupKey] ? state.audioStorage[groupKey] : AudioUnitDefaultValue()) as AudioStorageUnit;\n if (currentTime > 0 && duration > 0) {\n audioUnit.playbackTime = currentTime;\n audioUnit.duration = duration;\n }\n return {\n ...state,\n audioStorage: {\n ...state.audioStorage,\n [groupKey]: audioUnit,\n },\n };\n }\n default:\n return state;\n }\n}\n","import React, { createContext, useContext, useReducer } from 'react';\nimport voicePlayerReducer from './dux/reducer';\nimport {\n AudioStorageUnit,\n AudioUnitDefaultValue,\n VoicePlayerInitialState,\n voicePlayerInitialState,\n} from './dux/initialState';\nimport {\n INITIALIZE_AUDIO_UNIT,\n ON_CURRENT_TIME_UPDATE,\n ON_VOICE_PLAYER_PAUSE,\n ON_VOICE_PLAYER_PLAY,\n SET_CURRENT_PLAYER,\n} from './dux/actionTypes';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_PLAYER_AUDIO_ID,\n VOICE_PLAYER_ROOT_ID,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// VoicePlayerProvider interface\nexport interface VoicePlayerProps {\n children: React.ReactElement;\n}\nexport interface VoicePlayerPlayProps {\n groupKey: string;\n audioFile?: File;\n audioFileUrl?: string;\n}\nexport interface VoicePlayerContext {\n play: (props: VoicePlayerPlayProps) => void;\n pause: (groupKey?: string) => void;\n stop: (text?: string) => void;\n voicePlayerStore: VoicePlayerInitialState;\n}\n\nexport const ALL = 'ALL';\n\nconst noop = () => { /* noop */ };\nconst VoicePlayerStoreDefaultValue = {\n currentGroupKey: '',\n currentPlayer: null,\n audioStorage: {},\n};\n\nconst Context = createContext<VoicePlayerContext>({\n play: noop,\n pause: noop,\n stop: noop,\n voicePlayerStore: VoicePlayerStoreDefaultValue,\n});\n\nexport const VoicePlayerProvider = ({\n children,\n}: VoicePlayerProps): React.ReactElement => {\n const [voicePlayerStore, voicePlayerDispatcher] = useReducer(voicePlayerReducer, voicePlayerInitialState);\n const {\n currentGroupKey,\n currentPlayer,\n audioStorage,\n } = voicePlayerStore;\n const { config } = useSendbirdStateContext();\n const { logger } = config;\n\n const stop = (text = '') => {\n if (currentGroupKey.includes(text)) {\n logger.info('VoicePlayer: Pause playing(by text).');\n pause(currentGroupKey);\n }\n };\n\n const pause = (groupKey: string|null) => {\n if (currentGroupKey === groupKey && currentPlayer !== null) {\n logger.info('VoicePlayer: Pause playing(by group key).');\n currentPlayer?.pause();\n }\n if (groupKey === ALL) {\n logger.info('VoicePlayer: Pause playing(all).');\n currentPlayer?.pause();\n }\n };\n\n const play = ({\n groupKey,\n audioFile = null,\n audioFileUrl = '',\n }: VoicePlayerPlayProps): void => {\n if (groupKey !== currentGroupKey) {\n pause(currentGroupKey);\n }\n\n // Clear the previous AudioPlayer element\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n const voicePlayerAudioElement = document.getElementById(VOICE_PLAYER_AUDIO_ID);\n if (voicePlayerAudioElement) {\n voicePlayerRoot.removeChild(voicePlayerAudioElement);\n }\n\n logger.info('VoicePlayer: Start getting audio file.');\n new Promise<File>((resolve) => {\n voicePlayerDispatcher({\n type: INITIALIZE_AUDIO_UNIT,\n payload: { groupKey },\n });\n // audio file passed as a parameter\n if (audioFile) {\n logger.info('VoicePlayer: Use the audioFile instance.');\n resolve(audioFile);\n return;\n }\n // audio file from the audioStorage\n const cachedAudioFile = audioStorage?.[groupKey]?.audioFile;\n if (cachedAudioFile) {\n logger.info('VoicePlayer: Get from the audioStorage.');\n resolve(cachedAudioFile);\n return;\n }\n // fetch the audio file from URL\n fetch(audioFileUrl)\n .then((res) => res.blob())\n .then((blob) => {\n const audioFile = new File([blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n resolve(audioFile);\n logger.info('VoicePlayer: Get the audioFile from URL.');\n });\n }).then((audioFile: File) => {\n const voicePlayerRoot = document.getElementById(VOICE_PLAYER_ROOT_ID);\n logger.info('VoicePlayer: Succeeded getting audio file.', { audioFile });\n const currentAudioUnit = audioStorage[groupKey] || AudioUnitDefaultValue() as AudioStorageUnit;\n const audioPlayer = new Audio(URL?.createObjectURL?.(audioFile));\n audioPlayer.id = VOICE_PLAYER_AUDIO_ID;\n audioPlayer.currentTime = currentAudioUnit.playbackTime;\n audioPlayer.volume = 1;\n audioPlayer.loop = false;\n audioPlayer.onplaying = () => {\n logger.info('VoicePlayer: OnPlaying event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PLAY,\n payload: { groupKey, audioFile },\n });\n };\n audioPlayer.onpause = () => {\n logger.info('VoicePlayer: OnPause event is called from audioPlayer', { groupKey, audioPlayer });\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n };\n audioPlayer.ontimeupdate = () => {\n voicePlayerDispatcher({\n type: ON_CURRENT_TIME_UPDATE,\n payload: { groupKey },\n });\n };\n audioPlayer.dataset.sbGroupId = groupKey;\n // clean up the previous audio player\n try {\n voicePlayerRoot?.childNodes.forEach((node) => {\n const element = node as HTMLAudioElement;\n const thisGroupKey = element.dataset?.sbGroupKey;\n if (thisGroupKey !== groupKey) {\n element?.pause?.();\n voicePlayerDispatcher({\n type: ON_VOICE_PLAYER_PAUSE,\n payload: { groupKey },\n });\n voicePlayerRoot.removeChild(element);\n logger.info('VoicePlayer: Removed other player.', { element });\n }\n });\n } finally {\n audioPlayer?.play();\n voicePlayerRoot?.appendChild(audioPlayer);\n voicePlayerDispatcher({\n type: SET_CURRENT_PLAYER,\n payload: { groupKey, audioPlayer },\n });\n logger.info('VoicePlayer: Succeeded playing audio player.', { groupKey, audioPlayer });\n }\n });\n };\n\n return (\n <Context.Provider value={{\n play,\n pause,\n stop,\n voicePlayerStore,\n }}>\n <div id={VOICE_PLAYER_ROOT_ID} style={{ display: 'none' }} />\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoicePlayerContext = (): VoicePlayerContext => useContext(Context);\n"],"names":["INITIALIZE_AUDIO_UNIT","SET_CURRENT_PLAYER","ON_VOICE_PLAYER_PLAY","ON_VOICE_PLAYER_PAUSE","ON_CURRENT_TIME_UPDATE","VOICE_PLAYER_STATUS","IDLE","PREPARING","PLAYING","PAUSED","COMPLETED","AudioUnitDefaultValue","audioFile","playbackTime","duration","playingStatus","voicePlayerInitialState","currentPlayer","currentGroupKey","audioStorage","voicePlayerReducer","state","action","type","_state$audioStorage","groupKey","payload","audioUnit","_objectSpread","audioPlayer","_state$audioStorage2","_state$audioStorage3","currentTime","_state$audioStorage4","ALL","noop","VoicePlayerStoreDefaultValue","Context","createContext","play","pause","stop","voicePlayerStore","VoicePlayerProvider","_ref","children","voicePlayerDispatcher","useReducer","config","useSendbirdStateContext","logger","text","arguments","length","undefined","includes","info","_ref2","audioFileUrl","voicePlayerRoot","document","getElementById","VOICE_PLAYER_ROOT_ID","voicePlayerAudioElement","VOICE_PLAYER_AUDIO_ID","removeChild","Promise","resolve","_audioStorage$groupKe","cachedAudioFile","fetch","then","res","blob","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","VOICE_MESSAGE_MIME_TYPE","_URL","_URL$createObjectURL","currentAudioUnit","Audio","URL","createObjectURL","call","id","volume","loop","onplaying","onpause","ontimeupdate","dataset","sbGroupId","childNodes","forEach","node","_element$dataset","element","thisGroupKey","sbGroupKey","_element$pause","appendChild","React","createElement","Provider","value","style","display","useVoicePlayerContext","useContext"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index_module = require('./index.module-
|
|
5
|
-
var tokenize = require('./tokenize-
|
|
4
|
+
var index_module = require('./index.module-a24e9cd7.js');
|
|
5
|
+
var tokenize = require('./tokenize-9296fc47.js');
|
|
6
6
|
var Message_context = require('./Message/context.js');
|
|
7
7
|
var ui_MentionLabel = require('./ui/MentionLabel.js');
|
|
8
8
|
var ui_LinkLabel = require('./ui/LinkLabel.js');
|
|
9
|
-
var ui_Label = require('./index-
|
|
9
|
+
var ui_Label = require('./index-18720f0d.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -54,4 +54,4 @@ function TextFragment(_ref) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
exports.TextFragment = TextFragment;
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-2ab19f9b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-2ab19f9b.js","sources":["../../src/modules/Message/utils/tokens/keyGenerator.ts","../../src/modules/Message/components/TextFragment/index.tsx"],"sourcesContent":["// this function is used to generate a unique key for token in message\n// it changes with updated time and index\n// messageUpdatedAt is the key part of this key generator\nexport function keyGenerator(\n createdAt: number,\n messageUpdatedAt: number,\n index: number,\n): string {\n return `sb-msg_${createdAt}_${messageUpdatedAt}_${index}`;\n}\n","import React from 'react';\nimport { UserMessage } from '@sendbird/chat/message';\nimport { match } from 'ts-pattern';\n\nimport { TOKEN_TYPES, Token } from '../../utils/tokens/types';\nimport { useMessageContext } from '../../context/MessageProvider';\nimport { keyGenerator } from '../../utils/tokens/keyGenerator';\nimport MentionLabel from '../../../../ui/MentionLabel';\nimport { USER_MENTION_PREFIX } from '../../consts';\nimport LinkLabel from '../../../../ui/LinkLabel';\nimport { LabelTypography } from '../../../../ui/Label';\nimport { getWhiteSpacePreservedText } from '../../utils/tokens/tokenize';\n\nexport type TextFragmentProps = {\n tokens: Token[];\n};\n\nexport default function TextFragment({\n tokens,\n}: TextFragmentProps): React.ReactElement {\n const messageStore = useMessageContext();\n\n const message = messageStore?.message as UserMessage;\n const isByMe = messageStore?.isByMe;\n const { updatedAt, createdAt } = message;\n\n return (\n <>\n {tokens?.map((token, idx) => {\n const key = keyGenerator(createdAt, updatedAt, idx);\n return match(token.type)\n .with(TOKEN_TYPES.mention, () => (\n <span className=\"sendbird-word\" key={key}>\n <MentionLabel\n mentionTemplate={USER_MENTION_PREFIX}\n mentionedUserId={token.userId}\n mentionedUserNickname={token.value}\n isByMe={isByMe}\n />\n </span>\n ))\n .with(TOKEN_TYPES.url, () => (\n <span className=\"sendbird-word\" key={key}>\n <LinkLabel\n className=\"sendbird-word__url\"\n src={token.value}\n type={LabelTypography.BODY_1}\n >\n {token.value}\n </LinkLabel>\n </span>\n ))\n .otherwise(() => <React.Fragment key={key}>{getWhiteSpacePreservedText(token.value)}</React.Fragment>);\n })}\n </>\n );\n}\n"],"names":["keyGenerator","createdAt","messageUpdatedAt","index","TextFragment","_ref","tokens","messageStore","useMessageContext","message","isByMe","updatedAt","React","createElement","Fragment","map","token","idx","key","match","type","with","TOKEN_TYPES","mention","className","MentionLabel","mentionTemplate","USER_MENTION_PREFIX","mentionedUserId","userId","mentionedUserNickname","value","url","LinkLabel","src","LabelTypography","BODY_1","otherwise","getWhiteSpacePreservedText"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACO,SAASA,YAAYA,CAC1BC,SAAiB,EACjBC,gBAAwB,EACxBC,KAAa,EACL;AACR,EAAA,OAAQ,UAASF,SAAU,CAAA,CAAA,EAAGC,gBAAiB,CAAA,CAAA,EAAGC,KAAM,CAAC,CAAA,CAAA;AAC3D;;ACQe,SAASC,YAAYA,CAAAC,IAAA,EAEM;EAAA,IAFL;AACnCC,IAAAA,MAAAA;AACiB,GAAC,GAAAD,IAAA,CAAA;EAClB,MAAME,YAAY,GAAGC,iCAAiB,EAAE,CAAA;EAExC,MAAMC,OAAO,GAAGF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEE,OAAsB,CAAA;EACpD,MAAMC,MAAM,GAAGH,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEG,MAAM,CAAA;EACnC,MAAM;IAAEC,SAAS;AAAEV,IAAAA,SAAAA;AAAU,GAAC,GAAGQ,OAAO,CAAA;EAExC,oBACEG,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,QACGR,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAES,GAAG,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAC3B,MAAMC,GAAG,GAAGlB,YAAY,CAACC,SAAS,EAAEU,SAAS,EAAEM,GAAG,CAAC,CAAA;AACnD,IAAA,OAAOE,cAAK,CAACH,KAAK,CAACI,IAAI,CAAC,CACrBC,IAAI,CAACC,oBAAW,CAACC,OAAO,EAAE,mBACzBX,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,MAAAA,SAAS,EAAC,eAAe;AAACN,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,eACvCN,yBAAA,CAAAC,aAAA,CAACY,eAAY,EAAA;AACXC,MAAAA,eAAe,EAAEC,4BAAoB;MACrCC,eAAe,EAAEZ,KAAK,CAACa,MAAO;MAC9BC,qBAAqB,EAAEd,KAAK,CAACe,KAAM;AACnCrB,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,CACf,CAEL,CAAC,CACDW,IAAI,CAACC,oBAAW,CAACU,GAAG,EAAE,mBACrBpB,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMW,MAAAA,SAAS,EAAC,eAAe;AAACN,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,eACvCN,yBAAA,CAAAC,aAAA,CAACoB,uBAAS,EAAA;AACRT,MAAAA,SAAS,EAAC,oBAAoB;MAC9BU,GAAG,EAAElB,KAAK,CAACe,KAAM;MACjBX,IAAI,EAAEe,wBAAe,CAACC,MAAAA;AAAO,KAAA,EAE5BpB,KAAK,CAACe,KAAK,CACF,CAEf,CAAC,CACDM,SAAS,CAAC,mBAAMzB,yBAAA,CAAAC,aAAA,CAACD,yBAAK,CAACE,QAAQ,EAAA;AAACI,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,EAAEoB,mCAA0B,CAACtB,KAAK,CAACe,KAAK,CAAC,CAAkB,CAAC,CAAA;AAC1G,GAAC,CAAC,CACD,CAAA;AAEP;;;;"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var ui_Icon = require('./ui/Icon.js');
|
|
5
5
|
var ui_ImageRenderer = require('./ui/ImageRenderer.js');
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var ui_FileViewer = require('./index-
|
|
8
|
-
var MediaQueryContext = require('./MediaQueryContext-
|
|
9
|
-
var index_module = require('./index.module-
|
|
6
|
+
var index = require('./index-fbe9cc73.js');
|
|
7
|
+
var ui_FileViewer = require('./index-857630c5.js');
|
|
8
|
+
var MediaQueryContext = require('./MediaQueryContext-73aac8cf.js');
|
|
9
|
+
var index_module = require('./index.module-a24e9cd7.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -136,4 +136,4 @@ function MultipleFilesMessageItemBody(_ref) {
|
|
|
136
136
|
|
|
137
137
|
exports.MultipleFilesMessageItemBody = MultipleFilesMessageItemBody;
|
|
138
138
|
exports.ThreadMessageKind = ThreadMessageKind;
|
|
139
|
-
//# sourceMappingURL=index-
|
|
139
|
+
//# sourceMappingURL=index-4b5a006d.js.map
|