@sendbird/uikit-react 3.4.8 → 3.5.0-mobile-web-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/App.js +119 -70
- package/App.js.map +1 -1
- package/Channel/components/ChannelHeader.js +18 -18
- package/Channel/components/ChannelUI.js +46 -41
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -14
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/Message.js +59 -45
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +35 -36
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +85 -46
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -16
- package/Channel/components/SuggestedMentionList.js +16 -16
- package/Channel/components/TypingIndicator.js +14 -14
- package/Channel/components/UnreadCount.js +5 -5
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +11 -11
- package/Channel.js +46 -41
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/ChannelListHeader.js +6 -6
- package/ChannelList/components/ChannelListUI.js +33 -32
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +25 -25
- package/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +29 -29
- package/{ChannelListProvider-1d8f4d94.js → ChannelListProvider-42fb305a.js} +19 -37
- package/ChannelListProvider-42fb305a.js.map +1 -0
- package/{ChannelProvider-bba4a095.js → ChannelProvider-42ea1a96.js} +59 -24
- package/ChannelProvider-42ea1a96.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings.js +17 -17
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/InviteUsers.js +15 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/{CreateChannelProvider-1ba7a571.js → CreateChannelProvider-37af96d2.js} +1 -1
- package/{CreateChannelProvider-1ba7a571.js.map → CreateChannelProvider-37af96d2.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel.js +9 -9
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile.js +12 -12
- package/{LocalizationContext-ae38446a.js → LocalizationContext-1839d2db.js} +3 -3
- package/{LocalizationContext-ae38446a.js.map → LocalizationContext-1839d2db.js.map} +1 -1
- package/{MediaQueryContext-8d283dc2.js → MediaQueryContext-0e0b3a1b.js} +11 -6
- package/MediaQueryContext-0e0b3a1b.js.map +1 -0
- package/{MemberList-38971d43.js → MemberList-28589b39.js} +5 -5
- package/{MemberList-38971d43.js.map → MemberList-28589b39.js.map} +1 -1
- package/Message/context.js +5 -1
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/context.js +1 -1
- package/MessageSearch.js +11 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelInput.js +18 -18
- package/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/{OpenChannelListProvider-e0add710.js → OpenChannelListProvider-71a32f2d.js} +3 -3
- package/{OpenChannelListProvider-e0add710.js.map → OpenChannelListProvider-71a32f2d.js.map} +1 -1
- package/{OpenChannelProvider-49db4c6c.js → OpenChannelProvider-377a0b6e.js} +7 -7
- package/{OpenChannelProvider-49db4c6c.js.map → OpenChannelProvider-377a0b6e.js.map} +1 -1
- package/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings.js +17 -17
- package/{RemoveMessageModal-10f50eae.js → RemoveMessageModal-558db27f.js} +3 -3
- package/{RemoveMessageModal-10f50eae.js.map → RemoveMessageModal-558db27f.js.map} +1 -1
- package/SendbirdProvider.js +299 -65
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +90 -49
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +33 -25
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +7 -7
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +40 -33
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +88 -48
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +36 -36
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +56 -46
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +49 -42
- package/Thread.js.map +1 -1
- package/{ThreadProvider-128d5041.js → ThreadProvider-0b73628e.js} +11 -8
- package/ThreadProvider-0b73628e.js.map +1 -0
- package/{UserProfileContext-91e3b3f2.js → UserProfileContext-7e645551.js} +1 -1
- package/{UserProfileContext-91e3b3f2.js.map → UserProfileContext-7e645551.js.map} +1 -1
- package/{VoiceMessageInputWrapper-cbfa4f2b.js → VoiceMessageInputWrapper-0b5a78a1.js} +7 -7
- package/{VoiceMessageInputWrapper-cbfa4f2b.js.map → VoiceMessageInputWrapper-0b5a78a1.js.map} +1 -1
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +3 -3
- package/VoiceRecorder/context.js +11 -4
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/{WebAudioUtils-5f47139c.js → WebAudioUtils-fbdb41cd.js} +1 -1
- package/{WebAudioUtils-5f47139c.js.map → WebAudioUtils-fbdb41cd.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-eaf55eff.js → _rollupPluginBabelHelpers-ce69e916.js} +1 -1
- package/_rollupPluginBabelHelpers-ce69e916.js.map +1 -0
- package/{actionTypes-98eee9f4.js → actionTypes-a5283c75.js} +1 -1
- package/{actionTypes-98eee9f4.js.map → actionTypes-a5283c75.js.map} +1 -1
- package/cjs/App.js +119 -70
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +18 -18
- package/cjs/Channel/components/ChannelUI.js +46 -41
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -14
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/Message.js +59 -45
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +35 -36
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +85 -46
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -16
- package/cjs/Channel/components/SuggestedMentionList.js +16 -16
- package/cjs/Channel/components/TypingIndicator.js +14 -14
- package/cjs/Channel/components/UnreadCount.js +5 -5
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +11 -11
- package/cjs/Channel.js +46 -41
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/ChannelListHeader.js +6 -6
- package/cjs/ChannelList/components/ChannelListUI.js +33 -32
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +25 -25
- package/cjs/ChannelList/components/ChannelPreviewAction.js +13 -13
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +29 -29
- package/cjs/{ChannelListProvider-634b78f3.js → ChannelListProvider-b3ffe21a.js} +19 -37
- package/cjs/ChannelListProvider-b3ffe21a.js.map +1 -0
- package/cjs/{ChannelProvider-5366f030.js → ChannelProvider-b6890429.js} +59 -24
- package/cjs/ChannelProvider-b6890429.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings.js +17 -17
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/InviteUsers.js +15 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/{CreateChannelProvider-65dcc450.js → CreateChannelProvider-e1376032.js} +1 -1
- package/cjs/{CreateChannelProvider-65dcc450.js.map → CreateChannelProvider-e1376032.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/{LocalizationContext-4fa55e6b.js → LocalizationContext-461a0816.js} +3 -3
- package/cjs/{LocalizationContext-4fa55e6b.js.map → LocalizationContext-461a0816.js.map} +1 -1
- package/cjs/{MediaQueryContext-e443379e.js → MediaQueryContext-de7c63bc.js} +11 -6
- package/cjs/MediaQueryContext-de7c63bc.js.map +1 -0
- package/cjs/{MemberList-3736f22c.js → MemberList-593809cb.js} +5 -5
- package/cjs/{MemberList-3736f22c.js.map → MemberList-593809cb.js.map} +1 -1
- package/cjs/Message/context.js +5 -1
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -27
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/{OpenChannelListProvider-458abc0e.js → OpenChannelListProvider-39c11f87.js} +3 -3
- package/cjs/{OpenChannelListProvider-458abc0e.js.map → OpenChannelListProvider-39c11f87.js.map} +1 -1
- package/cjs/{OpenChannelProvider-84f42ba8.js → OpenChannelProvider-e794e881.js} +7 -7
- package/cjs/{OpenChannelProvider-84f42ba8.js.map → OpenChannelProvider-e794e881.js.map} +1 -1
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/{RemoveMessageModal-3535563a.js → RemoveMessageModal-29fa1a05.js} +3 -3
- package/cjs/{RemoveMessageModal-3535563a.js.map → RemoveMessageModal-29fa1a05.js.map} +1 -1
- package/cjs/SendbirdProvider.js +298 -64
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +90 -49
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +33 -25
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +7 -7
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +40 -33
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +88 -48
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +36 -36
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +56 -46
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +49 -42
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-d38505b4.js → ThreadProvider-e2098298.js} +11 -8
- package/cjs/ThreadProvider-e2098298.js.map +1 -0
- package/cjs/{UserProfileContext-83eaf6e8.js → UserProfileContext-1bcc48a2.js} +1 -1
- package/cjs/{UserProfileContext-83eaf6e8.js.map → UserProfileContext-1bcc48a2.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js → VoiceMessageInputWrapper-f18d6a5e.js} +7 -7
- package/cjs/{VoiceMessageInputWrapper-68c8b8cb.js.map → VoiceMessageInputWrapper-f18d6a5e.js.map} +1 -1
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +3 -3
- package/cjs/VoiceRecorder/context.js +11 -4
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +2 -2
- package/cjs/{WebAudioUtils-00b9890d.js → WebAudioUtils-aedad0b1.js} +1 -1
- package/cjs/{WebAudioUtils-00b9890d.js.map → WebAudioUtils-aedad0b1.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-2c0fc9c3.js → _rollupPluginBabelHelpers-919a4db3.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-919a4db3.js.map +1 -0
- package/cjs/{actionTypes-fb3f6a66.js → actionTypes-1e75e6e9.js} +1 -1
- package/cjs/{actionTypes-fb3f6a66.js.map → actionTypes-1e75e6e9.js.map} +1 -1
- package/cjs/{color-83cbca20.js → color-48ff06b2.js} +1 -1
- package/cjs/{color-83cbca20.js.map → color-48ff06b2.js.map} +1 -1
- package/cjs/{compareIds-c2907ec8.js → compareIds-8ed822c1.js} +1 -1
- package/cjs/{compareIds-c2907ec8.js.map → compareIds-8ed822c1.js.map} +1 -1
- package/cjs/{const-75153738.js → const-49de651c.js} +1 -1
- package/cjs/{const-75153738.js.map → const-49de651c.js.map} +1 -1
- package/cjs/{const-17970c49.js → const-852d5677.js} +1 -1
- package/cjs/{const-17970c49.js.map → const-852d5677.js.map} +1 -1
- package/cjs/{consts-aaf1208c.js → consts-2580246d.js} +1 -1
- package/cjs/{consts-aaf1208c.js.map → consts-2580246d.js.map} +1 -1
- package/cjs/{consts-5ead6f3b.js → consts-5851f376.js} +1 -1
- package/cjs/{consts-5ead6f3b.js.map → consts-5851f376.js.map} +1 -1
- package/cjs/{consts-0db2bedc.js → consts-6f02fcc4.js} +3 -3
- package/cjs/consts-6f02fcc4.js.map +1 -0
- package/cjs/{consts-d2103ed5.js → consts-e9ee4cf4.js} +1 -1
- package/cjs/{consts-d2103ed5.js.map → consts-e9ee4cf4.js.map} +1 -1
- package/cjs/{context-d9a84cb9.js → context-4d89551f.js} +2 -2
- package/cjs/{context-d9a84cb9.js.map → context-4d89551f.js.map} +1 -1
- package/cjs/dist/index.css +255 -202
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-1737cbae.js → index-0126dbb4.js} +4 -4
- package/cjs/{index-1737cbae.js.map → index-0126dbb4.js.map} +1 -1
- package/cjs/{index-6ac703ea.js → index-1a223893.js} +7 -6
- package/cjs/{index-6ac703ea.js.map → index-1a223893.js.map} +1 -1
- package/cjs/{index-fcd2f4ff.js → index-223e9372.js} +3 -2
- package/cjs/{index-fcd2f4ff.js.map → index-223e9372.js.map} +1 -1
- package/cjs/{index-552eb819.js → index-420b8e6d.js} +3 -3
- package/cjs/{index-552eb819.js.map → index-420b8e6d.js.map} +1 -1
- package/cjs/{index-22bdf04e.js → index-44186883.js} +2 -2
- package/cjs/{index-22bdf04e.js.map → index-44186883.js.map} +1 -1
- package/cjs/{index-47e4bdbc.js → index-5e6194f8.js} +1 -1
- package/cjs/{index-47e4bdbc.js.map → index-5e6194f8.js.map} +1 -1
- package/cjs/{index-be9c5a7d.js → index-60bf4d5c.js} +2 -2
- package/cjs/{index-be9c5a7d.js.map → index-60bf4d5c.js.map} +1 -1
- package/cjs/{index-c8c25288.js → index-60ea6503.js} +3 -3
- package/cjs/{index-c8c25288.js.map → index-60ea6503.js.map} +1 -1
- package/cjs/{index-09f8f2a4.js → index-6a46ed00.js} +3 -3
- package/cjs/{index-09f8f2a4.js.map → index-6a46ed00.js.map} +1 -1
- package/cjs/{index-10d8f30f.js → index-7a68d56f.js} +1 -1
- package/cjs/{index-10d8f30f.js.map → index-7a68d56f.js.map} +1 -1
- package/cjs/{index-5307f6c1.js → index-81aad270.js} +2 -2
- package/cjs/{index-5307f6c1.js.map → index-81aad270.js.map} +1 -1
- package/cjs/{index-41ce4c44.js → index-849c0736.js} +2 -2
- package/cjs/{index-41ce4c44.js.map → index-849c0736.js.map} +1 -1
- package/cjs/{index-56735815.js → index-a51f1b7d.js} +5 -5
- package/cjs/{index-56735815.js.map → index-a51f1b7d.js.map} +1 -1
- package/cjs/{index-01768a5e.js → index-a7025294.js} +6 -6
- package/cjs/{index-01768a5e.js.map → index-a7025294.js.map} +1 -1
- package/cjs/{index-265937df.js → index-bca3d144.js} +18 -2
- package/cjs/index-bca3d144.js.map +1 -0
- package/cjs/{index-61c3208b.js → index-f4682499.js} +4 -4
- package/cjs/{index-61c3208b.js.map → index-f4682499.js.map} +1 -1
- package/cjs/index-f5399132.js +419 -0
- package/cjs/index-f5399132.js.map +1 -0
- package/cjs/index.js +60 -58
- package/cjs/index.js.map +1 -1
- package/cjs/{index.module-3e7701ca.js → index.module-10ef9afc.js} +1 -1
- package/cjs/{index.module-3e7701ca.js.map → index.module-10ef9afc.js.map} +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/{stringSet-c24927d9.js → stringSet-d1cee26a.js} +1 -1
- package/cjs/{stringSet-c24927d9.js.map → stringSet-d1cee26a.js.map} +1 -1
- package/cjs/{tokenize-1441f448.js → tokenize-d3bb1637.js} +7 -3
- package/cjs/tokenize-d3bb1637.js.map +1 -0
- package/cjs/{topics-0df2f6f9.js → topics-00c67dd6.js} +1 -1
- package/cjs/{topics-0df2f6f9.js.map → topics-00c67dd6.js.map} +1 -1
- package/cjs/{types-df20b895.js → types-2e9e46b2.js} +1 -1
- package/cjs/types-2e9e46b2.js.map +1 -0
- 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 +1 -1
- 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 +35 -24
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/EmojiReactions.js +249 -46
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/Icon.js +190 -167
- package/cjs/ui/Icon.js.map +1 -1
- 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 +10 -10
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MessageContent.js +55 -400
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +12 -12
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemReactionMenu.js +12 -6
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- 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 +15 -15
- package/cjs/ui/OpenchannelOGMessage.js +45 -51
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionButton.js +15 -11
- package/cjs/ui/ReactionButton.js.map +1 -1
- 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 +15 -9
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UserListItem.js +14 -13
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js +5 -5
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +10 -10
- package/cjs/useDirtyGetMentions-7b6c8a19.js +77 -0
- package/cjs/useDirtyGetMentions-7b6c8a19.js.map +1 -0
- package/cjs/{useLongPress-8aa00a28.js → useLongPress-4c2e9a3b.js} +9 -5
- package/cjs/useLongPress-4c2e9a3b.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-111f523c.js → utils-22d05a53.js} +1 -1
- package/cjs/{utils-111f523c.js.map → utils-22d05a53.js.map} +1 -1
- package/cjs/{utils-a1fead2f.js → utils-3dacb9bc.js} +1 -1
- package/cjs/{utils-a1fead2f.js.map → utils-3dacb9bc.js.map} +1 -1
- package/cjs/{utils-93abfb7c.js → utils-c5d4c36e.js} +1 -1
- package/cjs/{utils-93abfb7c.js.map → utils-c5d4c36e.js.map} +1 -1
- package/cjs/{utils-4717b83e.js → utils-f1c09ec3.js} +2 -2
- package/cjs/{utils-4717b83e.js.map → utils-f1c09ec3.js.map} +1 -1
- package/cjs/{uuid-c854e2a9.js → uuid-d86ea01f.js} +1 -1
- package/cjs/{uuid-c854e2a9.js.map → uuid-d86ea01f.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/{color-c1b95a91.js → color-4ca8a2ea.js} +1 -1
- package/{color-c1b95a91.js.map → color-4ca8a2ea.js.map} +1 -1
- package/{compareIds-74cf4016.js → compareIds-08858dd3.js} +1 -1
- package/{compareIds-74cf4016.js.map → compareIds-08858dd3.js.map} +1 -1
- package/{const-befef81d.js → const-714046e0.js} +1 -1
- package/{const-befef81d.js.map → const-714046e0.js.map} +1 -1
- package/{const-3af04f0a.js → const-a77c08c9.js} +1 -1
- package/{const-3af04f0a.js.map → const-a77c08c9.js.map} +1 -1
- package/{consts-9ece4263.js → consts-9393e7c8.js} +3 -3
- package/consts-9393e7c8.js.map +1 -0
- package/{consts-a8bc28bd.js → consts-aecb8fab.js} +1 -1
- package/{consts-a8bc28bd.js.map → consts-aecb8fab.js.map} +1 -1
- package/{consts-354db0d9.js → consts-d46e0fc1.js} +1 -1
- package/{consts-354db0d9.js.map → consts-d46e0fc1.js.map} +1 -1
- package/{consts-bb6cbaee.js → consts-decd9c7d.js} +1 -1
- package/{consts-bb6cbaee.js.map → consts-decd9c7d.js.map} +1 -1
- package/{context-38bde7ff.js → context-9a6b8b8a.js} +2 -2
- package/{context-38bde7ff.js.map → context-9a6b8b8a.js.map} +1 -1
- package/dist/index.css +255 -202
- package/dist/index.css.map +1 -1
- package/{index-67dd0c26.js → index-06f34585.js} +2 -2
- package/{index-67dd0c26.js.map → index-06f34585.js.map} +1 -1
- package/{index-aa215b1c.js → index-20880943.js} +3 -3
- package/{index-aa215b1c.js.map → index-20880943.js.map} +1 -1
- package/{index-4554e20e.js → index-3130ac38.js} +4 -4
- package/{index-4554e20e.js.map → index-3130ac38.js.map} +1 -1
- package/{index-14bb6832.js → index-3165e396.js} +1 -1
- package/{index-14bb6832.js.map → index-3165e396.js.map} +1 -1
- package/{index-88ab67cc.js → index-400417a1.js} +4 -4
- package/{index-88ab67cc.js.map → index-400417a1.js.map} +1 -1
- package/{index-ae8e6fc3.js → index-5644a6c0.js} +3 -3
- package/{index-ae8e6fc3.js.map → index-5644a6c0.js.map} +1 -1
- package/{index-1be3f6d7.js → index-5db37327.js} +3 -3
- package/{index-1be3f6d7.js.map → index-5db37327.js.map} +1 -1
- package/{index-db801708.js → index-7c9ebc67.js} +5 -5
- package/{index-db801708.js.map → index-7c9ebc67.js.map} +1 -1
- package/{index-8a4d2b6e.js → index-9781d2b9.js} +2 -2
- package/{index-8a4d2b6e.js.map → index-9781d2b9.js.map} +1 -1
- package/{index-1556dc4a.js → index-b96440b7.js} +3 -3
- package/{index-1556dc4a.js.map → index-b96440b7.js.map} +1 -1
- package/{index-8bf82e3b.js → index-bf72ef7c.js} +7 -6
- package/{index-8bf82e3b.js.map → index-bf72ef7c.js.map} +1 -1
- package/{index-96f6e11b.js → index-c6df8184.js} +6 -6
- package/{index-96f6e11b.js.map → index-c6df8184.js.map} +1 -1
- package/{index-321e838f.js → index-d9c12cf4.js} +1 -1
- package/{index-321e838f.js.map → index-d9c12cf4.js.map} +1 -1
- package/{index-a900bd78.js → index-e1cd2fcf.js} +2 -2
- package/{index-a900bd78.js.map → index-e1cd2fcf.js.map} +1 -1
- package/index-edfb3327.js +413 -0
- package/index-edfb3327.js.map +1 -0
- package/{index-d8fdbe6f.js → index-fd51c7d1.js} +16 -3
- package/index-fd51c7d1.js.map +1 -0
- package/{index-ecf3a793.js → index-fd95258e.js} +2 -2
- package/{index-ecf3a793.js.map → index-fd95258e.js.map} +1 -1
- package/index.d.ts +3 -1
- package/index.js +60 -58
- package/index.js.map +1 -1
- package/{index.module-1c75b4f5.js → index.module-8c144786.js} +1 -1
- package/{index.module-1c75b4f5.js.map → index.module-8c144786.js.map} +1 -1
- package/package.json +2 -2
- package/sendbirdSelectors.js +3 -3
- package/{stringSet-6d89212b.js → stringSet-d368e289.js} +1 -1
- package/{stringSet-6d89212b.js.map → stringSet-d368e289.js.map} +1 -1
- package/{tokenize-2e969273.js → tokenize-7056afb7.js} +7 -3
- package/tokenize-7056afb7.js.map +1 -0
- package/{topics-8f4016e9.js → topics-f9628f1f.js} +1 -1
- package/{topics-8f4016e9.js.map → topics-f9628f1f.js.map} +1 -1
- package/{types-ebbbec62.js → types-2b508dbc.js} +1 -1
- package/types-2b508dbc.js.map +1 -0
- 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 +1 -1
- package/ui/Button.js +2 -2
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ContextMenu.js +35 -24
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +3 -3
- package/ui/EmojiReactions.js +250 -47
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileViewer.js +8 -8
- package/ui/Icon.js +190 -167
- package/ui/Icon.js.map +1 -1
- 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 +10 -10
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MessageContent.js +56 -401
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +12 -12
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemReactionMenu.js +12 -6
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- 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 +15 -15
- package/ui/OpenchannelOGMessage.js +45 -51
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +14 -14
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionButton.js +15 -11
- package/ui/ReactionButton.js.map +1 -1
- 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 +15 -9
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UserListItem.js +14 -13
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/VoiceMessageItemBody.js +5 -5
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +10 -10
- package/useDirtyGetMentions-e0c0f521.js +75 -0
- package/useDirtyGetMentions-e0c0f521.js.map +1 -0
- package/{useLongPress-8d44d259.js → useLongPress-685c7391.js} +9 -5
- package/useLongPress-685c7391.js.map +1 -0
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-c8b489c4.js → utils-256f157f.js} +1 -1
- package/{utils-c8b489c4.js.map → utils-256f157f.js.map} +1 -1
- package/{utils-8e039c1b.js → utils-4979f950.js} +1 -1
- package/{utils-8e039c1b.js.map → utils-4979f950.js.map} +1 -1
- package/{utils-7d781542.js → utils-f82ad058.js} +1 -1
- package/{utils-7d781542.js.map → utils-f82ad058.js.map} +1 -1
- package/{utils-b42f4fab.js → utils-fbc09760.js} +2 -2
- package/{utils-b42f4fab.js.map → utils-fbc09760.js.map} +1 -1
- package/{uuid-c94bd88b.js → uuid-720c99c0.js} +1 -1
- package/{uuid-c94bd88b.js.map → uuid-720c99c0.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/ChannelListProvider-1d8f4d94.js.map +0 -1
- package/ChannelProvider-bba4a095.js.map +0 -1
- package/MediaQueryContext-8d283dc2.js.map +0 -1
- package/ThreadProvider-128d5041.js.map +0 -1
- package/_rollupPluginBabelHelpers-eaf55eff.js.map +0 -1
- package/cjs/ChannelListProvider-634b78f3.js.map +0 -1
- package/cjs/ChannelProvider-5366f030.js.map +0 -1
- package/cjs/MediaQueryContext-e443379e.js.map +0 -1
- package/cjs/ThreadProvider-d38505b4.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-2c0fc9c3.js.map +0 -1
- package/cjs/consts-0db2bedc.js.map +0 -1
- package/cjs/index-265937df.js.map +0 -1
- package/cjs/tokenize-1441f448.js.map +0 -1
- package/cjs/types-df20b895.js.map +0 -1
- package/cjs/useLongPress-8aa00a28.js.map +0 -1
- package/consts-9ece4263.js.map +0 -1
- package/index-d8fdbe6f.js.map +0 -1
- package/tokenize-2e969273.js.map +0 -1
- package/types-ebbbec62.js.map +0 -1
- package/useLongPress-8d44d259.js.map +0 -1
|
@@ -5,9 +5,9 @@ var ui_PlaybackTime = require('./ui/PlaybackTime.js');
|
|
|
5
5
|
var ui_ProgressBar = require('./ui/ProgressBar.js');
|
|
6
6
|
var ui_TextButton = require('./ui/TextButton.js');
|
|
7
7
|
var ui_Icon = require('./ui/Icon.js');
|
|
8
|
-
var ui_Label = require('./index-
|
|
9
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
10
|
-
var consts = require('./consts-
|
|
8
|
+
var ui_Label = require('./index-44186883.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-461a0816.js');
|
|
10
|
+
var consts = require('./consts-6f02fcc4.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
@@ -158,4 +158,4 @@ const VoiceMessageInput = _ref => {
|
|
|
158
158
|
|
|
159
159
|
exports.VoiceMessageInput = VoiceMessageInput;
|
|
160
160
|
exports.VoiceMessageInputStatus = VoiceMessageInputStatus;
|
|
161
|
-
//# sourceMappingURL=index-
|
|
161
|
+
//# sourceMappingURL=index-0126dbb4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-1737cbae.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-0126dbb4.js","sources":["../../src/ui/VoiceMessageInput/types.ts","../../src/ui/VoiceMessageInput/controlerIcons.tsx","../../src/ui/VoiceMessageInput/index.tsx"],"sourcesContent":["/* eslint-disable no-redeclare */\nexport const VoiceMessageInputStatus = {\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n READY_TO_PLAY: 'READY_TO_PLAY',\n PLAYING: 'PLAYING',\n} as const;\nexport type VoiceMessageInputStatus = typeof VoiceMessageInputStatus[keyof typeof VoiceMessageInputStatus];\n","import React from 'react';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface ControlerIconProps {\n inputState?: VoiceMessageInputStatus;\n}\n\nexport const ControlerIcon = ({\n inputState,\n}: ControlerIconProps): React.ReactElement => {\n switch (inputState) {\n case VoiceMessageInputStatus.READY_TO_RECORD: {\n return (\n <div className=\"sendbird-controler-icon record-icon\" />\n );\n }\n case VoiceMessageInputStatus.RECORDING: {\n return (\n <div className=\"sendbird-controler-icon stop-icon\" />\n );\n }\n case VoiceMessageInputStatus.READY_TO_PLAY: {\n return (\n <Icon\n className=\"sendbird-controler-icon play-icon\"\n width=\"20px\"\n height=\"20px\"\n type={IconTypes.PLAY}\n fillColor={IconColors.ON_BACKGROUND_1}\n />\n );\n }\n case VoiceMessageInputStatus.PLAYING: {\n return (\n <div className=\"sendbird-controler-icon pause-icon\">\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n <div className=\"sendbird-controler-icon pause-icon-inner\"/>\n </div>\n );\n }\n default:\n return null;\n }\n};\n\nexport default ControlerIcon;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport './index.scss';\n\nimport PlaybackTime from '../PlaybackTime';\nimport ProgressBar from '../ProgressBar';\nimport TextButton from '../TextButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { useLocalization } from '../../lib/LocalizationContext';\nimport ControlerIcon from './controlerIcons';\nimport { VOICE_RECORDER_CLICK_BUFFER_TIME, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\nimport { VoiceMessageInputStatus } from './types';\n\nexport interface VoiceMessageInputProps {\n minRecordTime?: number;\n maximumValue: number;\n currentValue?: number;\n currentType: VoiceMessageInputStatus;\n onCancelClick?: () => void;\n onControlClick?: (type: VoiceMessageInputStatus) => void;\n onSubmitClick?: () => void;\n renderCancelButton?: () => React.ReactElement;\n renderControlButton?: (type: VoiceMessageInputStatus) => React.ReactElement;\n renderSubmitButton?: () => React.ReactElement;\n}\n\nexport const VoiceMessageInput = ({\n minRecordTime = VOICE_RECORDER_DEFAULT_MIN,\n maximumValue,\n currentValue = 0,\n currentType,\n onCancelClick,\n onControlClick,\n onSubmitClick,\n renderCancelButton,\n renderControlButton,\n renderSubmitButton,\n}: VoiceMessageInputProps): React.ReactElement => {\n const [lastClickTime, setLastClickTime] = useState<number>(0);\n const isReadyToRecord = useMemo(() => currentType === VoiceMessageInputStatus.READY_TO_RECORD, [currentType]);\n const isRecording = useMemo(() => currentType === VoiceMessageInputStatus.RECORDING, [currentType]);\n const isSendButtonDisabled = useMemo(() => {\n if (currentType === VoiceMessageInputStatus.READY_TO_RECORD\n || currentType === VoiceMessageInputStatus.RECORDING\n ) {\n return minRecordTime > currentValue;\n }\n return false;\n }, [currentType, minRecordTime, currentValue]);\n const isPlayMode = useMemo(() => {\n return (\n currentType === VoiceMessageInputStatus.READY_TO_PLAY\n || currentType === VoiceMessageInputStatus.PLAYING\n );\n }, [currentType]);\n const { stringSet } = useLocalization();\n\n const handleOnCancelClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onCancelClick();\n setLastClickTime(currentTime);\n }\n };\n const handleOnControlClick = useCallback(() => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n onControlClick(currentType);\n setLastClickTime(currentTime);\n }\n }, [currentType]);\n const handleOnSubmitClick = () => {\n const currentTime = Date.now();\n if (currentTime - lastClickTime > VOICE_RECORDER_CLICK_BUFFER_TIME) {\n if (!isSendButtonDisabled) {\n onSubmitClick();\n }\n setLastClickTime(currentTime);\n }\n };\n\n return (\n <div className=\"sendbird-voice-message-input\">\n <div className=\"sendbird-voice-message-input__indicator\">\n <div className=\"sendbird-voice-message-input__indicator__progress-bar\">\n <ProgressBar\n className=\"sendbird-voice-message-input__indicator__progress-bar__bar\"\n disabled={isReadyToRecord}\n maxSize={maximumValue}\n currentSize={currentValue}\n />\n </div>\n {(isRecording) ? (<div className=\"sendbird-voice-message-input__indicator__on-rec\" />) : null}\n <PlaybackTime\n className=\"sendbird-voice-message-input__indicator__playback-time\"\n time={isPlayMode ? maximumValue - currentValue : currentValue}\n labelColor={isReadyToRecord ? LabelColors.ONBACKGROUND_4 : LabelColors.ONCONTENT_1}\n />\n </div>\n <div className=\"sendbird-voice-message-input__controler\">\n {\n renderCancelButton?.() || (\n <TextButton\n className=\"sendbird-voice-message-input__controler__cancel\"\n onClick={handleOnCancelClick}\n disableUnderline\n >\n <Label\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.BUTTON__CANCEL}\n </Label>\n </TextButton>\n )\n }\n {\n renderControlButton?.(currentType) || (\n <div\n className=\"sendbird-voice-message-input__controler__main\"\n onClick={handleOnControlClick}\n >\n <ControlerIcon inputState={currentType} />\n </div>\n )\n }\n {\n renderSubmitButton?.() || (\n <div\n className={`sendbird-voice-message-input__controler__submit ${isSendButtonDisabled ? 'voice-message--disabled' : ''}`}\n onClick={handleOnSubmitClick}\n >\n <Icon\n width=\"19px\"\n height=\"19px\"\n type={IconTypes.SEND}\n fillColor={isSendButtonDisabled ? IconColors.ON_BACKGROUND_4 : IconColors.CONTENT}\n />\n </div>\n )\n }\n </div>\n </div>\n );\n};\n"],"names":["VoiceMessageInputStatus","READY_TO_RECORD","RECORDING","READY_TO_PLAY","PLAYING","ControlerIcon","_ref","inputState","React","createElement","className","Icon","width","height","type","IconTypes","PLAY","fillColor","IconColors","ON_BACKGROUND_1","VoiceMessageInput","minRecordTime","VOICE_RECORDER_DEFAULT_MIN","maximumValue","currentValue","currentType","onCancelClick","onControlClick","onSubmitClick","renderCancelButton","renderControlButton","renderSubmitButton","lastClickTime","setLastClickTime","useState","isReadyToRecord","useMemo","isRecording","isSendButtonDisabled","isPlayMode","stringSet","useLocalization","handleOnCancelClick","currentTime","Date","now","VOICE_RECORDER_CLICK_BUFFER_TIME","handleOnControlClick","useCallback","handleOnSubmitClick","ProgressBar","disabled","maxSize","currentSize","PlaybackTime","time","labelColor","LabelColors","ONBACKGROUND_4","ONCONTENT_1","TextButton","onClick","disableUnderline","Label","LabelTypography","BUTTON_1","color","PRIMARY","BUTTON__CANCEL","SEND","ON_BACKGROUND_4","CONTENT"],"mappings":"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"}
|
|
@@ -5,18 +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-44186883.js');
|
|
9
|
+
var LocalizationContext = require('./LocalizationContext-461a0816.js');
|
|
10
|
+
var UserProfileContext = require('./UserProfileContext-1bcc48a2.js');
|
|
11
|
+
require('./context-4d89551f.js');
|
|
12
12
|
var ui_Avatar = require('./ui/Avatar.js');
|
|
13
13
|
require('react-dom');
|
|
14
|
+
require('./MediaQueryContext-de7c63bc.js');
|
|
14
15
|
var ui_MutedAvatarOverlay = require('./ui/MutedAvatarOverlay.js');
|
|
15
16
|
var ui_UserProfile = require('./ui/UserProfile.js');
|
|
16
17
|
require('@sendbird/chat/openChannel');
|
|
17
18
|
var ui_Modal = require('./ui/Modal.js');
|
|
18
19
|
var ui_UserListItem = require('./ui/UserListItem.js');
|
|
19
|
-
var utils = require('./utils-
|
|
20
|
+
var utils = require('./utils-3dacb9bc.js');
|
|
20
21
|
var OpenChannelSettings_context = require('./OpenChannelSettings/context.js');
|
|
21
22
|
var useSendbirdStateContext = require('./useSendbirdStateContext.js');
|
|
22
23
|
|
|
@@ -358,4 +359,4 @@ function ParticipantList(_ref) {
|
|
|
358
359
|
|
|
359
360
|
exports.ParticipantList = ParticipantList;
|
|
360
361
|
exports.UserListItem = UserListItem;
|
|
361
|
-
//# sourceMappingURL=index-
|
|
362
|
+
//# sourceMappingURL=index-1a223893.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-6ac703ea.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 >\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 >\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 >\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 >\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 >\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 >\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","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-1a223893.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 >\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 >\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 >\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 >\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 >\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 >\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","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,mBAAK,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;AACF,aAAA;AAAE,WAAA,EAGAnD,UAAU,GACNd,SAAS,CAACwE,qDAAqD,GAC/DxE,SAAS,CAACyE,sDAAsD,CAE7D,eACXrD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;cACb,IAAIhB,CAAC,CAACkC,OAAO,EAAE;AACb5E,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE6E,UAAU,CAACnC,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,CAAE8E,QAAQ,CAACpC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC9B+C,kBAAAA,aAAa,EAAE,CAAA;AACjB,iBAAC,CAAC,CAAA;AACJ,eAAA;AACF,aAAA;AAAE,WAAA,EAGAzB,CAAC,CAACkC,OAAO,GACL1E,SAAS,CAAC6E,wCAAwC,GAClD7E,SAAS,CAAC8E,sCAAsC,CAE7C,eACX1D,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,CAAEiF,OAAO,CAACvC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC7B+C,gBAAAA,aAAa,EAAE,CAAA;AACjB,eAAC,CAAC,CAAA;AACJ,aAAA;WAECjE,EAAAA,SAAS,CAACgF,qCAAqC,CACvC,CAAA;SAGf,CAAA,CAAA;AAAA,OACH,GACC,IAAA;KAEN,CAAA,CAAA;GAEL,CAAC,CAEA,CACA,CACJ,CAAA;AAEV;;ACpIatC,MAAAA,YAAyC,GAAGnD,IAAA,IAKhC;EAAA,IALiC;IACxDoD,IAAI;IACJE,WAAW;IACX/B,UAAU;AACVgC,IAAAA,MAAAA;AACiB,GAAC,GAAAvD,IAAA,CAAA;AAClB,EAAA,MAAM0F,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAC9B,EAAA,MAAMlC,SAAS,GAAGkC,YAAM,CAAC,IAAI,CAAC,CAAA;EAC9B,MAAM;IACJC,kBAAkB;AAClBC,IAAAA,iBAAAA;AACF,GAAC,GAAGnF,gBAAU,CAACoF,qCAAkB,CAAC,CAAA;EAClC,MAAM;AAAErF,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,CAAAkE,QAAA,EACElE,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACkE,oBAAM,EAAA;AACL1D,MAAAA,SAAS,EAAC,wDAAwD;MAClE2B,OAAO,EAAEA,MAAM;QACb,IAAI,CAAC2B,kBAAkB,EAAE;AACvB/B,UAAAA,cAAc,EAAE,CAAA;AAClB,SAAA;OACA;AACFoC,MAAAA,GAAG,EAAEP,SAAU;MACfQ,GAAG,EAAE9C,IAAI,CAAC+C,UAAW;AACrBpC,MAAAA,KAAK,EAAE,EAAG;AACVC,MAAAA,MAAM,EAAE,EAAA;AAAG,KAAA,CACX,EACDZ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,IAAJA,IAAI,CAAE+B,OAAO,gBAAItD,yBAAA,CAAAC,aAAA,CAACsE,qBAAkB,EAAG,IAAA,CAAA,GAAI,EAAE,CAEhD;AACF3B,IAAAA,SAAS,EAAGC,aAAa,iBACvB7C,yBAAA,CAAAC,aAAA,CAAC6C,wBAAS,EAAA;MACRE,QAAQ,EAAA,IAAA;AACRnB,MAAAA,SAAS,EAAEgC,SAAAA;AACX;AAAA;AACAd,MAAAA,gBAAgB,EAAEc,SAAAA;AAClB;AAAA;AACAhB,MAAAA,aAAa,EAAEA,aAAc;AAC7B2B,MAAAA,KAAK,EAAE;AAAEC,QAAAA,UAAU,EAAE,KAAK;AAAEC,QAAAA,aAAa,EAAE,KAAA;AAAM,OAAA;KAG/CV,EAAAA,iBAAiB,GACbA,iBAAiB,CAAC;AAClBzC,MAAAA,IAAI,EAAEA,IAAI;AACVoD,MAAAA,aAAa,EAAElD,WAAW;AAC1BmD,MAAAA,KAAK,EAAE/B,aAAAA;AACT,KAAC,CAAC,gBAEA7C,yBAAA,CAAAC,aAAA,CAAC4E,cAAW,EAAA;MACVC,gBAAgB,EAAA,IAAA;AAChBvD,MAAAA,IAAI,EAAEA,IAAK;AACXoD,MAAAA,aAAa,EAAElD,WAAY;AAC3BsD,MAAAA,SAAS,EAAElC,aAAAA;KAEd,CAAA,CAAA;AAGP,GAAA,CACF,CACE,eACN7C,yBAAA,CAAAC,aAAA,CAAC+E,cAAK,EAAA;AACJvE,IAAAA,SAAS,EAAC,gDAAgD;IAC1D6B,IAAI,EAAE2C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACC,cAAAA;AAAe,GAAA,EAEjC9D,IAAI,CAAC+D,QAAQ,IAAI1G,SAAS,CAAC2G,OAAO,EAEhC9D,WAAW,KAAKF,IAAI,CAACnC,MAAM,IAC1BR,SAAS,CAAC4G,mCACX,CAEG;AACN;EACA,CAACjE,IAAI,CAAC+D,QAAQ,iBACZtF,yBAAA,CAAAC,aAAA,CAAC+E,cAAK,EAAA;AACJvE,IAAAA,SAAS,EAAC,wDAAwD;IAClE6B,IAAI,EAAE2C,wBAAe,CAACQ,SAAU;IAChCN,KAAK,EAAEC,oBAAW,CAACM,cAAAA;GAElBnE,EAAAA,IAAI,CAACnC,MAAM,CAEf,EAGDM,UAAU,iBACRM,yBAAA,CAAAC,aAAA,CAAC+E,cAAK,EAAA;AACJvE,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,EAAE2C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACM,cAAAA;GAElB9G,EAAAA,SAAS,CAAC+G,wCAAwC,CAEtD,EAGDjE,MAAM,iBACJ1B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEQ,IAAAA,SAAS,EAAC,iDAAiD;AAC3D2D,IAAAA,GAAG,EAAExC,SAAAA;AAAU,GAAA,EAEdF,MAAM,CAAC;AAAEE,IAAAA,SAAAA;GAAW,CAAC,CAEzB,CAEC,CAAA;AAEV;;AC5He,SAASgE,eAAeA,CAAAzH,IAAA,EAEA;AAAA,EAAA,IAAA0H,mBAAA,CAAA;EAAA,IAFC;AACtCpG,IAAAA,cAAc,GAAG,KAAA;AACG,GAAC,GAAAtB,IAAA,CAAA;EACrB,MAAM2H,WAAW,GAAGrH,uBAAuB,EAAE,CAAA;AAC7C,EAAA,MAAMkG,aAAa,GAAGmB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,wBAAAD,mBAAA,GAAXC,WAAW,CAAEzG,MAAM,MAAAwG,IAAAA,IAAAA,mBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAqBzG,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,CAAC8G,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG/G,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;AAAEqG,MAAAA,KAAK,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;IAC/E9G,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,MAAMwH,WAAW,GAAGC,iBAAW,CAAC,MAAM;IACpC,IAAI,CAACzH,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;AAAEqG,MAAAA,KAAK,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;AAC/E/G,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,EAAEkD,aAAc;MAC3BnD,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,IAAIkF,aAAa,MAAKvD,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;AACfqD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLxH,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;AACfqD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAA;AACF,aAAA;AAAE,WAAA,EAGAxG,UAAU,GACNd,SAAS,CAACwE,qDAAqD,GAC/DxE,SAAS,CAACyE,sDAAsD,CAE7D,eACXrD,yBAAA,CAAAC,aAAA,CAACgD,uBAAQ,EAAA;YACPb,OAAO,EAAEA,MAAM;cACb,IAAIhB,CAAC,CAACkC,OAAO,EAAE;AACb5E,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE6E,UAAU,CAACnC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAChC+C,kBAAAA,aAAa,EAAE,CAAA;AACfqD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAC,MAAM;AACLxH,gBAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE8E,QAAQ,CAACpC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC9B+C,kBAAAA,aAAa,EAAE,CAAA;AACfqD,kBAAAA,WAAW,EAAE,CAAA;AACf,iBAAC,CAAC,CAAA;AACJ,eAAA;AACF,aAAA;AAAE,WAAA,EAGA9E,CAAC,CAACkC,OAAO,GACL1E,SAAS,CAAC6E,wCAAwC,GAClD7E,SAAS,CAAC8E,sCAAsC,CAE7C,eACX1D,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,CAAEiF,OAAO,CAACvC,CAAC,CAAC,CAACtB,IAAI,CAAC,MAAM;AAC7B+C,gBAAAA,aAAa,EAAE,CAAA;AACfqD,gBAAAA,WAAW,EAAE,CAAA;AACf,eAAC,CAAC,CAAA;AACJ,aAAA;WAECtH,EAAAA,SAAS,CAACgF,qCAAqC,CACvC,CAAA;AAEb,SAAA,CACF,GAEF,IAAI,CAAA;AAAA,OAAA;KAEV,CAAA,CAAA;AAEN,GAAC,CAAC,EAGD7E,YAAY,IAAIA,YAAY,CAACqH,MAAM,KAAK,CAAC,gBAEtCpG,yBAAA,CAAAC,aAAA,CAAC+E,cAAK,EAAA;AACJvE,IAAAA,SAAS,EAAC,uCAAuC;IACjD6B,IAAI,EAAE2C,wBAAe,CAACC,UAAW;IACjCC,KAAK,EAAEC,oBAAW,CAACiB,cAAAA;GAElBzH,EAAAA,SAAS,CAAC0H,iCAAiC,CACtC,GACN,IAAI,eAEZtG,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,CAACsG,oBAAM,EAAA;IACLjE,IAAI,EAAEkE,qBAAW,CAACC,SAAU;IAC5BC,IAAI,EAAEC,qBAAW,CAACC,KAAM;AACxBxE,IAAAA,OAAO,EAAEA,MAAM4D,wBAAwB,CAAC,IAAI,CAAA;AAAE,GAAA,EAE7CpH,SAAS,CAAC4B,6CAA6C,CAE3D,CAEC,EAEJuF,qBAAqB,iBACnB/F,yBAAA,CAAAC,aAAA,CAAC/B,iBAAiB,EAAA;IAChBK,QAAQ,EAAEA,MAAM;MACdyH,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC/BE,MAAAA,WAAW,EAAE,CAAA;AACf,KAAA;AAAE,GAAA,CAEL,CAEC,CACF,CAAA;AAEV;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var consts = require('./consts-
|
|
4
|
+
var consts = require('./consts-6f02fcc4.js');
|
|
5
5
|
|
|
6
6
|
function useDebounce(callback, delay) {
|
|
7
7
|
const timeoutRef = React.useRef(null);
|
|
@@ -74,5 +74,6 @@ function useHandleOnScrollCallback(_ref) {
|
|
|
74
74
|
return useDebounce(scrollCb, DELAY);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
exports.useDebounce = useDebounce;
|
|
77
78
|
exports.useHandleOnScrollCallback = useHandleOnScrollCallback;
|
|
78
|
-
//# sourceMappingURL=index-
|
|
79
|
+
//# sourceMappingURL=index-223e9372.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-223e9372.js","sources":["../../src/hooks/useDebounce.ts","../../src/hooks/useHandleOnScrollCallback/index.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function useDebounce<T extends(...args: any[]) => void>(callback: T, delay: number): T {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n // Cleanup the timeout on unmount\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n function debounceFunction(...args: Parameters<T>) {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n callback(...args);\n }, delay);\n }\n\n return debounceFunction as T;\n}\n","import React, { useCallback } from 'react';\nimport { SCROLL_BUFFER } from '../../utils/consts';\nimport { useDebounce } from '../useDebounce';\n\nconst DELAY = 500;\n\nexport interface UseHandleOnScrollCallbackProps {\n hasMore: boolean;\n hasNext?: boolean;\n onScroll(callback: () => void): void;\n scrollRef: React.RefObject<HTMLDivElement>;\n setShowScrollDownButton?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport function calcScrollBottom(scrollHeight: number, scrollTop: number): number {\n return scrollHeight - scrollTop;\n}\n\nexport function useHandleOnScrollCallback({\n hasMore,\n hasNext,\n onScroll,\n scrollRef,\n setShowScrollDownButton,\n}: UseHandleOnScrollCallbackProps): () => void {\n const scrollCb = useCallback(() => {\n const element = scrollRef?.current;\n if (element == null) {\n return;\n }\n\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n // https://sendbird.atlassian.net/browse/SBISSUE-11759\n // the edge case where channel is inside a page that already has scroll\n // scrollintoView will move the whole page, which we dont want\n const scrollBottom = calcScrollBottom(scrollHeight, scrollTop);\n // even if there is more to fetch or not,\n // we still have to show the scroll to bottom button\n if (typeof setShowScrollDownButton === 'function') {\n setShowScrollDownButton(scrollHeight > scrollTop + clientHeight + 1);\n }\n if (hasMore && scrollTop < SCROLL_BUFFER) {\n onScroll(() => {\n // sets the scroll position to the bottom of the new messages\n element.scrollTop = element.scrollHeight - scrollBottom;\n });\n }\n if (hasNext) {\n onScroll(() => {\n // sets the scroll position to the top of the new messages\n element.scrollTop = scrollTop - (scrollHeight - element.scrollHeight);\n });\n }\n }, [\n setShowScrollDownButton,\n hasMore,\n onScroll,\n scrollRef,\n ]);\n\n return useDebounce(scrollCb, DELAY);\n}\n"],"names":["useDebounce","callback","delay","timeoutRef","useRef","useEffect","current","clearTimeout","debounceFunction","_len","arguments","length","args","Array","_key","setTimeout","DELAY","calcScrollBottom","scrollHeight","scrollTop","useHandleOnScrollCallback","_ref","hasMore","hasNext","onScroll","scrollRef","setShowScrollDownButton","scrollCb","useCallback","element","clientHeight","scrollBottom","SCROLL_BUFFER"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var LocalizationContext = require('./LocalizationContext-
|
|
4
|
+
var LocalizationContext = require('./LocalizationContext-461a0816.js');
|
|
5
5
|
var ui_Icon = require('./ui/Icon.js');
|
|
6
|
-
var ui_Label = require('./index-
|
|
6
|
+
var ui_Label = require('./index-44186883.js');
|
|
7
7
|
var ui_Loader = require('./ui/Loader.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -115,4 +115,4 @@ function PlaceHolder(_ref) {
|
|
|
115
115
|
exports.PlaceHolder = PlaceHolder;
|
|
116
116
|
exports.PlaceHolderTypes = PlaceHolderTypes;
|
|
117
117
|
exports.PlaceHolderTypes$1 = PlaceHolderTypes$1;
|
|
118
|
-
//# sourceMappingURL=index-
|
|
118
|
+
//# sourceMappingURL=index-420b8e6d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-552eb819.js","sources":["../../src/ui/PlaceHolder/type.ts","../../src/ui/PlaceHolder/index.tsx"],"sourcesContent":["function Types(): { [key: string]: string } {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\n","import React, { ReactElement, useContext } from 'react';\n\nimport './index.scss';\n\nimport _PlaceHolderTypes from './type';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport interface PlaceHolderProps {\n className?: string | Array<string>;\n type: typeof PlaceHolderTypes[keyof typeof PlaceHolderTypes];\n iconSize?: string | number;\n searchInString?: string;\n retryToConnect?: () => void;\n}\n\nexport default function PlaceHolder({\n className = '',\n type,\n iconSize,\n searchInString = '',\n retryToConnect = null,\n}: PlaceHolderProps): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-place-holder',\n ].join(' ')}\n >\n {\n type === PlaceHolderTypes.LOADING && (\n <Loader\n width={iconSize || '48px'}\n height={iconSize || '48px'}\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width={iconSize || '48px'}\n height={iconSize || '48px'}\n />\n </Loader>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n <div className=\"sendbird-place-holder__body\">\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.CHAT}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.MESSAGE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n <Label\n className=\"sendbird-place-holder__body__text\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n stringSet.PLACE_HOLDER__NO_CHANNEL\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n stringSet.PLACE_HOLDER__WRONG\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n stringSet.PLACE_HOLDER__NO_MESSAGES\n )\n }\n </Label>\n {\n retryToConnect && (\n <div\n className=\"sendbird-place-holder__body__reconnect\"\n role=\"button\"\n onClick={retryToConnect}\n onKeyPress={retryToConnect}\n tabIndex={0}\n >\n <Icon\n className=\"sendbird-place-holder__body__reconnect__icon\"\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-place-holder__body__reconnect__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.PLACE_HOLDER__RETRY_TO_CONNECT}\n </Label>\n </div>\n )\n }\n </div>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n <div className=\"sendbird-place-holder__body--align-top\">\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n <div className=\"sendbird-place-holder__body--align-top__text\">\n <Label\n className=\"sendbird-place-holder__body--align-top__text__search-in\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCH_IN}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__channel-name\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {`'${searchInString}`}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__quote\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {'\\''}\n </Label>\n </div>\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__searching\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCHING}\n </Label>\n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__no-result\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.NO_SEARCHED_MESSAGE}\n </Label>\n )\n }\n </div>\n )\n }\n </div>\n );\n}\n"],"names":["Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","_ref","className","type","iconSize","searchInString","retryToConnect","stringSet","useContext","LocalizationContext","React","createElement","Array","isArray","join","Loader","width","height","Icon","IconTypes","SPINNER","fillColor","IconColors","PRIMARY","CHAT","ON_BACKGROUND_3","ERROR","MESSAGE","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_2","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","role","onClick","onKeyPress","tabIndex","REFRESH","BUTTON_1","PLACE_HOLDER__RETRY_TO_CONNECT","BUTTON_2","NO_SEARCHED_MESSAGE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-420b8e6d.js","sources":["../../src/ui/PlaceHolder/type.ts","../../src/ui/PlaceHolder/index.tsx"],"sourcesContent":["function Types(): { [key: string]: string } {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\n","import React, { ReactElement, useContext } from 'react';\n\nimport './index.scss';\n\nimport _PlaceHolderTypes from './type';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport interface PlaceHolderProps {\n className?: string | Array<string>;\n type: typeof PlaceHolderTypes[keyof typeof PlaceHolderTypes];\n iconSize?: string | number;\n searchInString?: string;\n retryToConnect?: () => void;\n}\n\nexport default function PlaceHolder({\n className = '',\n type,\n iconSize,\n searchInString = '',\n retryToConnect = null,\n}: PlaceHolderProps): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-place-holder',\n ].join(' ')}\n >\n {\n type === PlaceHolderTypes.LOADING && (\n <Loader\n width={iconSize || '48px'}\n height={iconSize || '48px'}\n >\n <Icon\n type={IconTypes.SPINNER}\n fillColor={IconColors.PRIMARY}\n width={iconSize || '48px'}\n height={iconSize || '48px'}\n />\n </Loader>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n <div className=\"sendbird-place-holder__body\">\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.CHAT}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.ERROR}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n <Icon\n className=\"sendbird-place-holder__body__icon\"\n type={IconTypes.MESSAGE}\n fillColor={IconColors.ON_BACKGROUND_3}\n width={iconSize || '64px'}\n height={iconSize || '64px'}\n />\n )\n }\n <Label\n className=\"sendbird-place-holder__body__text\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n stringSet.PLACE_HOLDER__NO_CHANNEL\n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n stringSet.PLACE_HOLDER__WRONG\n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n stringSet.PLACE_HOLDER__NO_MESSAGES\n )\n }\n </Label>\n {\n retryToConnect && (\n <div\n className=\"sendbird-place-holder__body__reconnect\"\n role=\"button\"\n onClick={retryToConnect}\n onKeyPress={retryToConnect}\n tabIndex={0}\n >\n <Icon\n className=\"sendbird-place-holder__body__reconnect__icon\"\n type={IconTypes.REFRESH}\n fillColor={IconColors.PRIMARY}\n width=\"20px\"\n height=\"20px\"\n />\n <Label\n className=\"sendbird-place-holder__body__reconnect__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.PRIMARY}\n >\n {stringSet.PLACE_HOLDER__RETRY_TO_CONNECT}\n </Label>\n </div>\n )\n }\n </div>\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n <div className=\"sendbird-place-holder__body--align-top\">\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n <div className=\"sendbird-place-holder__body--align-top__text\">\n <Label\n className=\"sendbird-place-holder__body--align-top__text__search-in\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCH_IN}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__channel-name\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {`'${searchInString}`}\n </Label>\n <Label\n className=\"sendbird-place-holder__body--align-top__text__quote\"\n type={LabelTypography.BUTTON_2}\n color={LabelColors.PRIMARY}\n >\n {'\\''}\n </Label>\n </div>\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__searching\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.SEARCHING}\n </Label>\n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n <Label\n className=\"sendbird-place-hlder__body--align-top__no-result\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.NO_SEARCHED_MESSAGE}\n </Label>\n )\n }\n </div>\n )\n }\n </div>\n );\n}\n"],"names":["Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","_ref","className","type","iconSize","searchInString","retryToConnect","stringSet","useContext","LocalizationContext","React","createElement","Array","isArray","join","Loader","width","height","Icon","IconTypes","SPINNER","fillColor","IconColors","PRIMARY","CHAT","ON_BACKGROUND_3","ERROR","MESSAGE","Label","LabelTypography","BODY_1","color","LabelColors","ONBACKGROUND_2","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","role","onClick","onKeyPress","tabIndex","REFRESH","BUTTON_1","PLACE_HOLDER__RETRY_TO_CONNECT","BUTTON_2","NO_SEARCHED_MESSAGE"],"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-d1cee26a.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-44186883.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-44186883.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":";;;;;;;;;;;AAAO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,CAAC,CAAA;AAEM,MAAMC,MAAM,GAAG;AACpBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,WAAW,EAAE,aAAA;AACf,CAAC;;ACtBM,SAASC,2BAA2BA,CAACC,IAAI,EAAE;AAChD,EAAA,QAAQA,IAAI;IACV,KAAKvB,UAAU,CAACC,GAAG;AAAE,MAAA,OAAO,qBAAqB,CAAA;IACjD,KAAKD,UAAU,CAACE,GAAG;AAAE,MAAA,OAAO,qBAAqB,CAAA;IACjD,KAAKF,UAAU,CAACG,UAAU;AAAE,MAAA,OAAO,4BAA4B,CAAA;IAC/D,KAAKH,UAAU,CAACI,UAAU;AAAE,MAAA,OAAO,4BAA4B,CAAA;IAC/D,KAAKJ,UAAU,CAACK,MAAM;AAAE,MAAA,OAAO,wBAAwB,CAAA;IACvD,KAAKL,UAAU,CAACM,MAAM;AAAE,MAAA,OAAO,wBAAwB,CAAA;IACvD,KAAKN,UAAU,CAACO,QAAQ;AAAE,MAAA,OAAO,0BAA0B,CAAA;IAC3D,KAAKP,UAAU,CAACQ,QAAQ;AAAE,MAAA,OAAO,0BAA0B,CAAA;IAC3D,KAAKR,UAAU,CAACS,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;IAC7D,KAAKT,UAAU,CAACU,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;IAC7D,KAAKV,UAAU,CAACW,SAAS;AAAE,MAAA,OAAO,2BAA2B,CAAA;AAC7D,IAAA;AAAS,MAAA,OAAO,EAAE,CAAA;AAAC,GAAA;AAEvB,CAAA;AAEO,SAASa,sBAAsBA,CAACC,KAAK,EAAE;AAC5C,EAAA,QAAQA,KAAK;IACX,KAAKb,MAAM,CAACC,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKD,MAAM,CAACE,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKF,MAAM,CAACG,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKH,MAAM,CAACI,cAAc;AAAE,MAAA,OAAO,sCAAsC,CAAA;IACzE,KAAKJ,MAAM,CAACK,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;IACnE,KAAKL,MAAM,CAACM,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;IACnE,KAAKN,MAAM,CAACO,OAAO;AAAE,MAAA,OAAO,+BAA+B,CAAA;AAAE;IAC7D,KAAKP,MAAM,CAACQ,KAAK;AAAE,MAAA,OAAO,6BAA6B,CAAA;IACvD,KAAKR,MAAM,CAACS,WAAW;AAAE,MAAA,OAAO,mCAAmC,CAAA;AACnE,IAAA;AAAS,MAAA,OAAO,EAAE,CAAA;AAAC,GAAA;AAEvB;;ACxBe,SAASK,KAAKA,CAAAC,IAAA,EAK1B;EAAA,IAL2B;IAC5BC,SAAS;IACTL,IAAI;IACJE,KAAK;AACLI,IAAAA,QAAAA;AACF,GAAC,GAAAF,IAAA,CAAA;AACC,EAAA;AAAA;AACE;AACA;AACA;AACAG,IAAAA,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEH,MAAAA,SAAS,EAAE,CACT,IAAII,KAAK,CAACC,OAAO,CAACL,SAAS,CAAC,GAAGA,SAAS,GAAG,CAACA,SAAS,CAAC,CAAC,EACvD,gBAAgB,EAChBL,IAAI,GAAGD,2BAA2B,CAACC,IAAI,CAAC,GAAG,EAAE,EAC7CE,KAAK,GAAGD,sBAAsB,CAACC,KAAK,CAAC,GAAG,EAAE,CAC3C,CAACS,IAAI,CAAC,GAAG,CAAA;AAAE,KAAA,EAEXL,QAAQ,CAAA;AACJ,IAAA;AAEX,CAAA;AAEAH,KAAK,CAACS,SAAS,GAAG;AAChBP,EAAAA,SAAS,EAAEQ,6BAAS,CAACC,SAAS,CAAC,CAC7BD,6BAAS,CAACE,MAAM,EAChBF,6BAAS,CAACG,OAAO,CAACH,6BAAS,CAACE,MAAM,CAAC,CACpC,CAAC;EACFf,IAAI,EAAEa,6BAAS,CAACE,MAAM;EACtBb,KAAK,EAAEW,6BAAS,CAACE,MAAM;EACvBT,QAAQ,EAAEO,6BAAS,CAACC,SAAS,CAAC,CAC5BD,6BAAS,CAACE,MAAM,EAChBF,6BAAS,CAACI,MAAM,EAChBJ,6BAAS,CAACK,OAAO,EACjBL,6BAAS,CAACM,GAAG,CACd,CAAA;AACH,CAAC,CAAA;AAEDhB,KAAK,CAACiB,YAAY,GAAG;AACnBf,EAAAA,SAAS,EAAE,EAAE;AACbL,EAAAA,IAAI,EAAE,EAAE;AACRE,EAAAA,KAAK,EAAE,EAAE;AACTI,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC,CAAA;AAEKe,MAAAA,eAAe,GAAG5C,WAAU;AAC5B6C,MAAAA,WAAW,GAAGjC,OAAM;AAC1B,MAAMkC,cAAc,GAAGC,sBAAY,CAAC,IAAI;;;;;;;;"}
|