@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-rc.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 +316 -0
- package/App.js.map +1 -0
- package/CHANGELOG.md +43 -1
- package/Channel/components/ChannelHeader.js +121 -0
- package/Channel/components/ChannelHeader.js.map +1 -0
- package/Channel/components/ChannelUI.js +182 -0
- package/Channel/components/ChannelUI.js.map +1 -0
- package/Channel/components/FileViewer.js +153 -0
- package/Channel/components/FileViewer.js.map +1 -0
- package/Channel/components/FrozenNotification.js +20 -0
- package/Channel/components/FrozenNotification.js.map +1 -0
- package/Channel/components/Message.js +364 -0
- package/Channel/components/Message.js.map +1 -0
- package/Channel/components/MessageInput.js +214 -0
- package/Channel/components/MessageInput.js.map +1 -0
- package/Channel/components/MessageList.js +242 -0
- package/Channel/components/MessageList.js.map +1 -0
- package/Channel/components/RemoveMessageModal.js +55 -0
- package/Channel/components/RemoveMessageModal.js.map +1 -0
- package/Channel/components/SuggestedMentionList.js +306 -0
- package/Channel/components/SuggestedMentionList.js.map +1 -0
- package/Channel/components/TypingIndicator.js +102 -0
- package/Channel/components/TypingIndicator.js.map +1 -0
- package/Channel/components/UnreadCount.js +41 -0
- package/Channel/components/UnreadCount.js.map +1 -0
- package/Channel/context.js +26 -0
- package/Channel/context.js.map +1 -0
- package/Channel.js +109 -0
- package/Channel.js.map +1 -0
- package/ChannelList/components/AddChannel.js +70 -0
- package/ChannelList/components/AddChannel.js.map +1 -0
- package/ChannelList/components/ChannelListHeader.js +62 -0
- package/ChannelList/components/ChannelListHeader.js.map +1 -0
- package/ChannelList/components/ChannelListUI.js +235 -0
- package/ChannelList/components/ChannelListUI.js.map +1 -0
- package/ChannelList/components/ChannelPreview.js +216 -0
- package/ChannelList/components/ChannelPreview.js.map +1 -0
- package/ChannelList/components/ChannelPreviewAction.js +133 -0
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/ChannelList/context.js +15 -0
- package/ChannelList/context.js.map +1 -0
- package/ChannelList.js +91 -0
- package/ChannelList.js.map +1 -0
- package/ChannelListProvider-76b1ec23.js +944 -0
- package/ChannelListProvider-76b1ec23.js.map +1 -0
- package/ChannelProvider-c0ed5fae.js +2075 -0
- package/ChannelProvider-c0ed5fae.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +102 -0
- package/ChannelSettings/components/ChannelProfile.js.map +1 -0
- package/ChannelSettings/components/ChannelSettingsUI.js +152 -0
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
- package/ChannelSettings/components/EditDetailsModal.js +158 -0
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/ChannelSettings/components/LeaveChannel.js +53 -0
- package/ChannelSettings/components/LeaveChannel.js.map +1 -0
- package/ChannelSettings/components/ModerationPanel.js +851 -0
- package/ChannelSettings/components/ModerationPanel.js.map +1 -0
- package/ChannelSettings/components/UserListItem.js +106 -0
- package/ChannelSettings/components/UserListItem.js.map +1 -0
- package/ChannelSettings/components/UserPanel.js +79 -0
- package/ChannelSettings/components/UserPanel.js.map +1 -0
- package/ChannelSettings/context.js +93 -0
- package/ChannelSettings/context.js.map +1 -0
- package/ChannelSettings.js +71 -0
- package/ChannelSettings.js.map +1 -0
- package/CreateChannel/components/CreateChannelUI.js +53 -0
- package/CreateChannel/components/CreateChannelUI.js.map +1 -0
- package/CreateChannel/components/InviteUsers.js +180 -0
- package/CreateChannel/components/InviteUsers.js.map +1 -0
- package/CreateChannel/components/SelectChannelType.js +131 -0
- package/CreateChannel/components/SelectChannelType.js.map +1 -0
- package/CreateChannel/context.js +9 -0
- package/CreateChannel/context.js.map +1 -0
- package/CreateChannel.js +53 -0
- package/CreateChannel.js.map +1 -0
- package/CreateChannelProvider-8c72aa06.js +53 -0
- package/CreateChannelProvider-8c72aa06.js.map +1 -0
- package/EditUserProfile/components/EditUserProfileUI.js +26 -0
- package/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
- package/EditUserProfile/context.js +27 -0
- package/EditUserProfile/context.js.map +1 -0
- package/EditUserProfile.js +39 -0
- package/EditUserProfile.js.map +1 -0
- package/LocalizationContext-fb3dafcd.js +22 -0
- package/LocalizationContext-fb3dafcd.js.map +1 -0
- package/MemberList-01d3c8bf.js +404 -0
- package/MemberList-01d3c8bf.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +151 -0
- package/MessageSearch/components/MessageSearchUI.js.map +1 -0
- package/MessageSearch/context.js +387 -0
- package/MessageSearch/context.js.map +1 -0
- package/MessageSearch.js +146 -0
- package/MessageSearch.js.map +1 -0
- package/OpenChannel/components/FrozenChannelNotification.js +20 -0
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
- package/OpenChannel/components/OpenChannelHeader.js +80 -0
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/OpenChannel/components/OpenChannelInput.js +58 -0
- package/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessage.js +287 -0
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessageList.js +158 -0
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/OpenChannel/components/OpenChannelUI.js +111 -0
- package/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/OpenChannel/context.js +16 -0
- package/OpenChannel/context.js.map +1 -0
- package/OpenChannel.js +82 -0
- package/OpenChannel.js.map +1 -0
- package/OpenChannelProvider-0fb27972.js +1946 -0
- package/OpenChannelProvider-0fb27972.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +143 -0
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/OpenChannelSettings/components/OpenChannelProfile.js +81 -0
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +120 -0
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/OpenChannelSettings/components/OperatorUI.js +199 -0
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/OpenChannelSettings/components/ParticipantUI.js +145 -0
- package/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
- package/OpenChannelSettings/context.js +64 -0
- package/OpenChannelSettings/context.js.map +1 -0
- package/OpenChannelSettings.js +64 -0
- package/OpenChannelSettings.js.map +1 -0
- package/README.md +0 -1
- package/SendbirdProvider.js +782 -0
- package/SendbirdProvider.js.map +1 -0
- package/UserProfileContext-6a387a08.js +38 -0
- package/UserProfileContext-6a387a08.js.map +1 -0
- package/__bundle-7dfccc8c-03df3ada.js +24 -0
- package/__bundle-7dfccc8c-03df3ada.js.map +1 -0
- package/_rollupPluginBabelHelpers-084fb589.js +233 -0
- package/_rollupPluginBabelHelpers-084fb589.js.map +1 -0
- package/actionTypes-302a2801.js +6 -0
- package/actionTypes-302a2801.js.map +1 -0
- package/cjs/App.js +323 -0
- package/cjs/App.js.map +1 -0
- package/cjs/Channel/components/ChannelHeader.js +127 -0
- package/cjs/Channel/components/ChannelHeader.js.map +1 -0
- package/cjs/Channel/components/ChannelUI.js +188 -0
- package/cjs/Channel/components/ChannelUI.js.map +1 -0
- package/cjs/Channel/components/FileViewer.js +162 -0
- package/cjs/Channel/components/FileViewer.js.map +1 -0
- package/cjs/Channel/components/FrozenNotification.js +26 -0
- package/cjs/Channel/components/FrozenNotification.js.map +1 -0
- package/cjs/Channel/components/Message.js +370 -0
- package/cjs/Channel/components/Message.js.map +1 -0
- package/cjs/Channel/components/MessageInput.js +220 -0
- package/cjs/Channel/components/MessageInput.js.map +1 -0
- package/cjs/Channel/components/MessageList.js +248 -0
- package/cjs/Channel/components/MessageList.js.map +1 -0
- package/cjs/Channel/components/RemoveMessageModal.js +61 -0
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
- package/cjs/Channel/components/SuggestedMentionList.js +312 -0
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
- package/cjs/Channel/components/TypingIndicator.js +111 -0
- package/cjs/Channel/components/TypingIndicator.js.map +1 -0
- package/cjs/Channel/components/UnreadCount.js +47 -0
- package/cjs/Channel/components/UnreadCount.js.map +1 -0
- package/cjs/Channel/context.js +35 -0
- package/cjs/Channel/context.js.map +1 -0
- package/cjs/Channel.js +115 -0
- package/cjs/Channel.js.map +1 -0
- package/cjs/ChannelList/components/AddChannel.js +79 -0
- package/cjs/ChannelList/components/AddChannel.js.map +1 -0
- package/cjs/ChannelList/components/ChannelListHeader.js +68 -0
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -0
- package/cjs/ChannelList/components/ChannelListUI.js +241 -0
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreview.js +222 -0
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js +140 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/cjs/ChannelList/context.js +24 -0
- package/cjs/ChannelList/context.js.map +1 -0
- package/cjs/ChannelList.js +97 -0
- package/cjs/ChannelList.js.map +1 -0
- package/cjs/ChannelListProvider-7d1c0466.js +956 -0
- package/cjs/ChannelListProvider-7d1c0466.js.map +1 -0
- package/cjs/ChannelProvider-a3ec5a56.js +2088 -0
- package/cjs/ChannelProvider-a3ec5a56.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +108 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +158 -0
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -0
- package/cjs/ChannelSettings/components/EditDetailsModal.js +164 -0
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/cjs/ChannelSettings/components/LeaveChannel.js +59 -0
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -0
- package/cjs/ChannelSettings/components/ModerationPanel.js +857 -0
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -0
- package/cjs/ChannelSettings/components/UserListItem.js +112 -0
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -0
- package/cjs/ChannelSettings/components/UserPanel.js +85 -0
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -0
- package/cjs/ChannelSettings/context.js +102 -0
- package/cjs/ChannelSettings/context.js.map +1 -0
- package/cjs/ChannelSettings.js +77 -0
- package/cjs/ChannelSettings.js.map +1 -0
- package/cjs/CreateChannel/components/CreateChannelUI.js +59 -0
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -0
- package/cjs/CreateChannel/components/InviteUsers.js +186 -0
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -0
- package/cjs/CreateChannel/components/SelectChannelType.js +137 -0
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -0
- package/cjs/CreateChannel/context.js +18 -0
- package/cjs/CreateChannel/context.js.map +1 -0
- package/cjs/CreateChannel.js +59 -0
- package/cjs/CreateChannel.js.map +1 -0
- package/cjs/CreateChannelProvider-95fbfb06.js +60 -0
- package/cjs/CreateChannelProvider-95fbfb06.js.map +1 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +32 -0
- package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -0
- package/cjs/EditUserProfile/context.js +36 -0
- package/cjs/EditUserProfile/context.js.map +1 -0
- package/cjs/EditUserProfile.js +45 -0
- package/cjs/EditUserProfile.js.map +1 -0
- package/cjs/LocalizationContext-5a6a0f67.js +30 -0
- package/cjs/LocalizationContext-5a6a0f67.js.map +1 -0
- package/cjs/MemberList-bfecdd64.js +410 -0
- package/cjs/MemberList-bfecdd64.js.map +1 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js +160 -0
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -0
- package/cjs/MessageSearch/context.js +396 -0
- package/cjs/MessageSearch/context.js.map +1 -0
- package/cjs/MessageSearch.js +152 -0
- package/cjs/MessageSearch.js.map +1 -0
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +26 -0
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelHeader.js +86 -0
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js +64 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js +293 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +164 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js +117 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/cjs/OpenChannel/context.js +25 -0
- package/cjs/OpenChannel/context.js.map +1 -0
- package/cjs/OpenChannel.js +88 -0
- package/cjs/OpenChannel.js.map +1 -0
- package/cjs/OpenChannelProvider-e8247193.js +1955 -0
- package/cjs/OpenChannelProvider-e8247193.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +149 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +87 -0
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +126 -0
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js +209 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +151 -0
- package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -0
- package/cjs/OpenChannelSettings/context.js +73 -0
- package/cjs/OpenChannelSettings/context.js.map +1 -0
- package/cjs/OpenChannelSettings.js +70 -0
- package/cjs/OpenChannelSettings.js.map +1 -0
- package/cjs/SendbirdProvider.js +790 -0
- package/cjs/SendbirdProvider.js.map +1 -0
- package/cjs/UserProfileContext-17c8f75c.js +46 -0
- package/cjs/UserProfileContext-17c8f75c.js.map +1 -0
- package/cjs/__bundle-7dfccc8c-c3c55861.js +151 -0
- package/cjs/__bundle-7dfccc8c-c3c55861.js.map +1 -0
- package/cjs/_rollupPluginBabelHelpers-d984e855.js +243 -0
- package/cjs/_rollupPluginBabelHelpers-d984e855.js.map +1 -0
- package/cjs/actionTypes-7a330bec.js +10 -0
- package/cjs/actionTypes-7a330bec.js.map +1 -0
- package/cjs/color-b30f84a2.js +42 -0
- package/cjs/color-b30f84a2.js.map +1 -0
- package/cjs/compareIds-d8053014.js +20 -0
- package/cjs/compareIds-d8053014.js.map +1 -0
- package/cjs/const-2623fae1.js +22 -0
- package/cjs/const-2623fae1.js.map +1 -0
- package/cjs/const-6aa26f9f.js +14 -0
- package/cjs/const-6aa26f9f.js.map +1 -0
- package/cjs/context-83ecdafd.js +19 -0
- package/cjs/context-83ecdafd.js.map +1 -0
- package/cjs/dist/index.css +4603 -0
- package/cjs/dist/index.css.map +1 -0
- package/cjs/groupChannel-e311e26a.js +9 -0
- package/cjs/groupChannel-e311e26a.js.map +1 -0
- package/cjs/index-1e14c5b9.js +130 -0
- package/cjs/index-1e14c5b9.js.map +1 -0
- package/cjs/index-2537cbc7.js +284 -0
- package/cjs/index-2537cbc7.js.map +1 -0
- package/cjs/index-40d245a3.js +729 -0
- package/cjs/index-40d245a3.js.map +1 -0
- package/cjs/index-5e7b82c2.js +178 -0
- package/cjs/index-5e7b82c2.js.map +1 -0
- package/cjs/index-72479c2a.js +514 -0
- package/cjs/index-72479c2a.js.map +1 -0
- package/cjs/index-ab5d906d.js +67 -0
- package/cjs/index-ab5d906d.js.map +1 -0
- package/cjs/index-cdcd27bc.js +1880 -0
- package/cjs/index-cdcd27bc.js.map +1 -0
- package/cjs/index-ce679d41.js +9 -0
- package/cjs/index-ce679d41.js.map +1 -0
- package/cjs/index-df05e765.js +142 -0
- package/cjs/index-df05e765.js.map +1 -0
- package/cjs/index-f9677913.js +97 -0
- package/cjs/index-f9677913.js.map +1 -0
- package/cjs/index.js +165 -0
- package/cjs/index.js.map +1 -0
- package/cjs/openChannel-e9f65946.js +13 -0
- package/cjs/openChannel-e9f65946.js.map +1 -0
- package/cjs/openChannelUtils-4b7d2697.js +97 -0
- package/cjs/openChannelUtils-4b7d2697.js.map +1 -0
- package/cjs/sendbirdSelectors.js +696 -0
- package/cjs/sendbirdSelectors.js.map +1 -0
- package/cjs/stringSet-2f3588b5.js +118 -0
- package/cjs/stringSet-2f3588b5.js.map +1 -0
- package/cjs/topics-582e38dc.js +18 -0
- package/cjs/topics-582e38dc.js.map +1 -0
- package/cjs/tslib.es6-d9c7aa8b.js +40 -0
- package/cjs/tslib.es6-d9c7aa8b.js.map +1 -0
- package/cjs/ui/Accordion.js +74 -0
- package/cjs/ui/Accordion.js.map +1 -0
- package/cjs/ui/AccordionGroup.js +32 -0
- package/cjs/ui/AccordionGroup.js.map +1 -0
- package/cjs/ui/AdminMessage.js +45 -0
- package/cjs/ui/AdminMessage.js.map +1 -0
- package/cjs/ui/Avatar.js +226 -0
- package/cjs/ui/Avatar.js.map +1 -0
- package/cjs/ui/Badge.js +45 -0
- package/cjs/ui/Badge.js.map +1 -0
- package/cjs/ui/Button.js +17 -0
- package/cjs/ui/Button.js.map +1 -0
- package/cjs/ui/ChannelAvatar.js +59 -0
- package/cjs/ui/ChannelAvatar.js.map +1 -0
- package/cjs/ui/ChannelPreview.js +208 -0
- package/cjs/ui/ChannelPreview.js.map +1 -0
- package/cjs/ui/ChatHeader.js +152 -0
- package/cjs/ui/ChatHeader.js.map +1 -0
- package/cjs/ui/Checkbox.js +49 -0
- package/cjs/ui/Checkbox.js.map +1 -0
- package/cjs/ui/ConnectionStatus.js +34 -0
- package/cjs/ui/ConnectionStatus.js.map +1 -0
- package/cjs/ui/ContextMenu.js +410 -0
- package/cjs/ui/ContextMenu.js.map +1 -0
- package/cjs/ui/DateSeparator.js +44 -0
- package/cjs/ui/DateSeparator.js.map +1 -0
- package/cjs/ui/Dropdown.js +107 -0
- package/cjs/ui/Dropdown.js.map +1 -0
- package/cjs/ui/EmojiReactions.js +127 -0
- package/cjs/ui/EmojiReactions.js.map +1 -0
- package/cjs/ui/FileMessageItemBody.js +57 -0
- package/cjs/ui/FileMessageItemBody.js.map +1 -0
- package/cjs/ui/FileViewer.js +174 -0
- package/cjs/ui/FileViewer.js.map +1 -0
- package/cjs/ui/Icon.js +1466 -0
- package/cjs/ui/Icon.js.map +1 -0
- package/cjs/ui/IconButton.js +83 -0
- package/cjs/ui/IconButton.js.map +1 -0
- package/cjs/ui/ImageRenderer.js +138 -0
- package/cjs/ui/ImageRenderer.js.map +1 -0
- package/cjs/ui/Input.js +74 -0
- package/cjs/ui/Input.js.map +1 -0
- package/cjs/ui/Label.js +17 -0
- package/cjs/ui/Label.js.map +1 -0
- package/cjs/ui/LinkLabel.js +51 -0
- package/cjs/ui/LinkLabel.js.map +1 -0
- package/cjs/ui/Loader.js +44 -0
- package/cjs/ui/Loader.js.map +1 -0
- package/cjs/ui/MentionLabel.js +100 -0
- package/cjs/ui/MentionLabel.js.map +1 -0
- package/cjs/ui/MentionUserLabel.js +25 -0
- package/cjs/ui/MentionUserLabel.js.map +1 -0
- package/cjs/ui/MessageContent.js +297 -0
- package/cjs/ui/MessageContent.js.map +1 -0
- package/cjs/ui/MessageInput.js +5052 -0
- package/cjs/ui/MessageInput.js.map +1 -0
- package/cjs/ui/MessageItemMenu.js +137 -0
- package/cjs/ui/MessageItemMenu.js.map +1 -0
- package/cjs/ui/MessageItemReactionMenu.js +112 -0
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -0
- package/cjs/ui/MessageSearchFileItem.js +131 -0
- package/cjs/ui/MessageSearchFileItem.js.map +1 -0
- package/cjs/ui/MessageSearchItem.js +93 -0
- package/cjs/ui/MessageSearchItem.js.map +1 -0
- package/cjs/ui/MessageStatus.js +66 -0
- package/cjs/ui/MessageStatus.js.map +1 -0
- package/cjs/ui/Modal.js +140 -0
- package/cjs/ui/Modal.js.map +1 -0
- package/cjs/ui/MutedAvatarOverlay.js +40 -0
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -0
- package/cjs/ui/OGMessageItemBody.js +119 -0
- package/cjs/ui/OGMessageItemBody.js.map +1 -0
- package/cjs/ui/OpenChannelAdminMessage.js +27 -0
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -0
- package/cjs/ui/OpenChannelAvatar.js +41 -0
- package/cjs/ui/OpenChannelAvatar.js.map +1 -0
- package/cjs/ui/OpenchannelConversationHeader.js +73 -0
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
- package/cjs/ui/OpenchannelFileMessage.js +231 -0
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
- package/cjs/ui/OpenchannelOGMessage.js +346 -0
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js +306 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/cjs/ui/OpenchannelUserMessage.js +265 -0
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -0
- package/cjs/ui/PlaceHolder.js +20 -0
- package/cjs/ui/PlaceHolder.js.map +1 -0
- package/cjs/ui/QuoteMessage.js +131 -0
- package/cjs/ui/QuoteMessage.js.map +1 -0
- package/cjs/ui/QuoteMessageInput.js +97 -0
- package/cjs/ui/QuoteMessageInput.js.map +1 -0
- package/cjs/ui/ReactionBadge.js +68 -0
- package/cjs/ui/ReactionBadge.js.map +1 -0
- package/cjs/ui/ReactionButton.js +55 -0
- package/cjs/ui/ReactionButton.js.map +1 -0
- package/cjs/ui/SortByRow.js +57 -0
- package/cjs/ui/SortByRow.js.map +1 -0
- package/cjs/ui/TextButton.js +45 -0
- package/cjs/ui/TextButton.js.map +1 -0
- package/cjs/ui/TextMessageItemBody.js +76 -0
- package/cjs/ui/TextMessageItemBody.js.map +1 -0
- package/cjs/ui/ThumbnailMessageItemBody.js +82 -0
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -0
- package/cjs/ui/Tooltip.js +35 -0
- package/cjs/ui/Tooltip.js.map +1 -0
- package/cjs/ui/TooltipWrapper.js +65 -0
- package/cjs/ui/TooltipWrapper.js.map +1 -0
- package/cjs/ui/UnknownMessageItemBody.js +41 -0
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -0
- package/cjs/ui/UserListItem.js +159 -0
- package/cjs/ui/UserListItem.js.map +1 -0
- package/cjs/ui/UserProfile.js +88 -0
- package/cjs/ui/UserProfile.js.map +1 -0
- package/cjs/ui/Word.js +76 -0
- package/cjs/ui/Word.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +22 -0
- package/cjs/useSendbirdStateContext.js.map +1 -0
- package/cjs/utils-031aba48.js +6 -0
- package/cjs/utils-031aba48.js.map +1 -0
- package/cjs/utils-510b93ac.js +38 -0
- package/cjs/utils-510b93ac.js.map +1 -0
- package/cjs/utils-689065e6.js +32 -0
- package/cjs/utils-689065e6.js.map +1 -0
- package/cjs/uuid-099485ae.js +19 -0
- package/cjs/uuid-099485ae.js.map +1 -0
- package/cjs/withSendBird.js +35 -0
- package/cjs/withSendBird.js.map +1 -0
- package/color-9bf8c922.js +39 -0
- package/color-9bf8c922.js.map +1 -0
- package/compareIds-b78d7cd6.js +18 -0
- package/compareIds-b78d7cd6.js.map +1 -0
- package/const-40b58d8b.js +18 -0
- package/const-40b58d8b.js.map +1 -0
- package/const-99800b8d.js +8 -0
- package/const-99800b8d.js.map +1 -0
- package/context-bedea43b.js +12 -0
- package/context-bedea43b.js.map +1 -0
- package/dist/index.css +292 -152
- package/dist/index.css.map +1 -1
- package/groupChannel-96502de7.js +6 -0
- package/groupChannel-96502de7.js.map +1 -0
- package/index-13729368.js +512 -0
- package/index-13729368.js.map +1 -0
- package/index-16bed610.js +64 -0
- package/index-16bed610.js.map +1 -0
- package/index-1d112ad4.js +7 -0
- package/index-1d112ad4.js.map +1 -0
- package/index-71ad343b.js +171 -0
- package/index-71ad343b.js.map +1 -0
- package/index-71e2bf26.js +131 -0
- package/index-71e2bf26.js.map +1 -0
- package/index-8e6a607b.js +688 -0
- package/index-8e6a607b.js.map +1 -0
- package/index-a5e8849a.js +280 -0
- package/index-a5e8849a.js.map +1 -0
- package/index-b574cc8e.js +87 -0
- package/index-b574cc8e.js.map +1 -0
- package/index-c95d2aab.js +121 -0
- package/index-c95d2aab.js.map +1 -0
- package/index-ccd99cfe.js +1873 -0
- package/index-ccd99cfe.js.map +1 -0
- package/index.d.ts +1965 -0
- package/index.d.ts_bkup +1883 -0
- package/index.js +146 -0
- package/index.js.map +1 -0
- package/openChannel-dd5c9246.js +8 -0
- package/openChannel-dd5c9246.js.map +1 -0
- package/openChannelUtils-211a679a.js +86 -0
- package/openChannelUtils-211a679a.js.map +1 -0
- package/package.json +11 -33
- package/sendbirdSelectors.js +671 -0
- package/sendbirdSelectors.js.map +1 -0
- package/stringSet-d3a8a2a0.js +116 -0
- package/stringSet-d3a8a2a0.js.map +1 -0
- package/topics-f941ba80.js +10 -0
- package/topics-f941ba80.js.map +1 -0
- package/tslib.es6-a7db0cc5.js +38 -0
- package/tslib.es6-a7db0cc5.js.map +1 -0
- package/ui/Accordion.js +65 -0
- package/ui/Accordion.js.map +1 -0
- package/ui/AccordionGroup.js +26 -0
- package/ui/AccordionGroup.js.map +1 -0
- package/ui/AdminMessage.js +38 -0
- package/ui/AdminMessage.js.map +1 -0
- package/ui/Avatar.js +217 -0
- package/ui/Avatar.js.map +1 -0
- package/ui/Badge.js +38 -0
- package/ui/Badge.js.map +1 -0
- package/ui/Button.js +7 -0
- package/ui/Button.js.map +1 -0
- package/ui/ChannelAvatar.js +53 -0
- package/ui/ChannelAvatar.js.map +1 -0
- package/ui/ChannelPreview.js +201 -0
- package/ui/ChannelPreview.js.map +1 -0
- package/ui/ChatHeader.js +145 -0
- package/ui/ChatHeader.js.map +1 -0
- package/ui/Checkbox.js +42 -0
- package/ui/Checkbox.js.map +1 -0
- package/ui/ConnectionStatus.js +28 -0
- package/ui/ConnectionStatus.js.map +1 -0
- package/ui/ContextMenu.js +396 -0
- package/ui/ContextMenu.js.map +1 -0
- package/ui/DateSeparator.js +37 -0
- package/ui/DateSeparator.js.map +1 -0
- package/ui/Dropdown.js +97 -0
- package/ui/Dropdown.js.map +1 -0
- package/ui/EmojiReactions.js +121 -0
- package/ui/EmojiReactions.js.map +1 -0
- package/ui/FileMessageItemBody.js +51 -0
- package/ui/FileMessageItemBody.js.map +1 -0
- package/ui/FileViewer.js +164 -0
- package/ui/FileViewer.js.map +1 -0
- package/ui/Icon.js +1436 -0
- package/ui/Icon.js.map +1 -0
- package/ui/IconButton.js +76 -0
- package/ui/IconButton.js.map +1 -0
- package/ui/ImageRenderer.js +131 -0
- package/ui/ImageRenderer.js.map +1 -0
- package/ui/Input.js +64 -0
- package/ui/Input.js.map +1 -0
- package/ui/Label.js +6 -0
- package/ui/Label.js.map +1 -0
- package/ui/LinkLabel.js +40 -0
- package/ui/LinkLabel.js.map +1 -0
- package/ui/Loader.js +37 -0
- package/ui/Loader.js.map +1 -0
- package/ui/MentionLabel.js +94 -0
- package/ui/MentionLabel.js.map +1 -0
- package/ui/MentionUserLabel.js +19 -0
- package/ui/MentionUserLabel.js.map +1 -0
- package/ui/MessageContent.js +291 -0
- package/ui/MessageContent.js.map +1 -0
- package/ui/MessageInput.js +5044 -0
- package/ui/MessageInput.js.map +1 -0
- package/ui/MessageItemMenu.js +131 -0
- package/ui/MessageItemMenu.js.map +1 -0
- package/ui/MessageItemReactionMenu.js +106 -0
- package/ui/MessageItemReactionMenu.js.map +1 -0
- package/ui/MessageSearchFileItem.js +125 -0
- package/ui/MessageSearchFileItem.js.map +1 -0
- package/ui/MessageSearchItem.js +87 -0
- package/ui/MessageSearchItem.js.map +1 -0
- package/ui/MessageStatus.js +57 -0
- package/ui/MessageStatus.js.map +1 -0
- package/ui/Modal.js +128 -0
- package/ui/Modal.js.map +1 -0
- package/ui/MutedAvatarOverlay.js +34 -0
- package/ui/MutedAvatarOverlay.js.map +1 -0
- package/ui/OGMessageItemBody.js +113 -0
- package/ui/OGMessageItemBody.js.map +1 -0
- package/ui/OpenChannelAdminMessage.js +21 -0
- package/ui/OpenChannelAdminMessage.js.map +1 -0
- package/ui/OpenChannelAvatar.js +35 -0
- package/ui/OpenChannelAvatar.js.map +1 -0
- package/ui/OpenchannelConversationHeader.js +67 -0
- package/ui/OpenchannelConversationHeader.js.map +1 -0
- package/ui/OpenchannelFileMessage.js +225 -0
- package/ui/OpenchannelFileMessage.js.map +1 -0
- package/ui/OpenchannelOGMessage.js +340 -0
- package/ui/OpenchannelOGMessage.js.map +1 -0
- package/ui/OpenchannelThumbnailMessage.js +300 -0
- package/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/ui/OpenchannelUserMessage.js +259 -0
- package/ui/OpenchannelUserMessage.js.map +1 -0
- package/ui/PlaceHolder.js +11 -0
- package/ui/PlaceHolder.js.map +1 -0
- package/ui/QuoteMessage.js +125 -0
- package/ui/QuoteMessage.js.map +1 -0
- package/ui/QuoteMessageInput.js +91 -0
- package/ui/QuoteMessageInput.js.map +1 -0
- package/ui/ReactionBadge.js +61 -0
- package/ui/ReactionBadge.js.map +1 -0
- package/ui/ReactionButton.js +48 -0
- package/ui/ReactionButton.js.map +1 -0
- package/ui/SortByRow.js +50 -0
- package/ui/SortByRow.js.map +1 -0
- package/ui/TextButton.js +38 -0
- package/ui/TextButton.js.map +1 -0
- package/ui/TextMessageItemBody.js +70 -0
- package/ui/TextMessageItemBody.js.map +1 -0
- package/ui/ThumbnailMessageItemBody.js +76 -0
- package/ui/ThumbnailMessageItemBody.js.map +1 -0
- package/ui/Tooltip.js +28 -0
- package/ui/Tooltip.js.map +1 -0
- package/ui/TooltipWrapper.js +58 -0
- package/ui/TooltipWrapper.js.map +1 -0
- package/ui/UnknownMessageItemBody.js +35 -0
- package/ui/UnknownMessageItemBody.js.map +1 -0
- package/ui/UserListItem.js +152 -0
- package/ui/UserListItem.js.map +1 -0
- package/ui/UserProfile.js +82 -0
- package/ui/UserProfile.js.map +1 -0
- package/ui/Word.js +70 -0
- package/ui/Word.js.map +1 -0
- package/useSendbirdStateContext.js +20 -0
- package/useSendbirdStateContext.js.map +1 -0
- package/utils-2e3623c0.js +30 -0
- package/utils-2e3623c0.js.map +1 -0
- package/utils-cadde06a.js +4 -0
- package/utils-cadde06a.js.map +1 -0
- package/utils-d9325ddf.js +34 -0
- package/utils-d9325ddf.js.map +1 -0
- package/uuid-748dae7a.js +17 -0
- package/uuid-748dae7a.js.map +1 -0
- package/withSendBird.js +26 -0
- package/withSendBird.js.map +1 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import React__default, { useContext } from 'react';
|
|
2
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
3
|
+
import { useOpenChannelSettingsContext } from '../context.js';
|
|
4
|
+
import { U as UserProfileProvider } from '../../UserProfileContext-6a387a08.js';
|
|
5
|
+
import { a as LocalizationContext } from '../../LocalizationContext-fb3dafcd.js';
|
|
6
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-71e2bf26.js';
|
|
7
|
+
import Icon, { IconTypes } from '../../ui/Icon.js';
|
|
8
|
+
import { P as PlaceHolder, b as PlaceHolderTypes } from '../../index-c95d2aab.js';
|
|
9
|
+
import { OperatorUI } from './OperatorUI.js';
|
|
10
|
+
import ParticipantsList from './ParticipantUI.js';
|
|
11
|
+
import '../../withSendBird.js';
|
|
12
|
+
import '../../_rollupPluginBabelHelpers-084fb589.js';
|
|
13
|
+
import 'prop-types';
|
|
14
|
+
import '../../stringSet-d3a8a2a0.js';
|
|
15
|
+
import '../../index-13729368.js';
|
|
16
|
+
import '../../ui/Loader.js';
|
|
17
|
+
import './OpenChannelProfile.js';
|
|
18
|
+
import '../../ui/TextButton.js';
|
|
19
|
+
import '../../color-9bf8c922.js';
|
|
20
|
+
import '../../ui/OpenChannelAvatar.js';
|
|
21
|
+
import '../../ui/Avatar.js';
|
|
22
|
+
import '../../tslib.es6-a7db0cc5.js';
|
|
23
|
+
import '../../ui/ImageRenderer.js';
|
|
24
|
+
import '../../uuid-748dae7a.js';
|
|
25
|
+
import '../../utils-d9325ddf.js';
|
|
26
|
+
import './EditDetailsModal.js';
|
|
27
|
+
import '../../ui/Modal.js';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
import '../../index-1d112ad4.js';
|
|
30
|
+
import '../../ui/IconButton.js';
|
|
31
|
+
import '../../index-b574cc8e.js';
|
|
32
|
+
import '../../utils-cadde06a.js';
|
|
33
|
+
import '../../ui/Input.js';
|
|
34
|
+
import '../../ui/Accordion.js';
|
|
35
|
+
import '../../ui/AccordionGroup.js';
|
|
36
|
+
import '../../context-bedea43b.js';
|
|
37
|
+
import '../../ui/UserListItem.js';
|
|
38
|
+
import '../../ui/MutedAvatarOverlay.js';
|
|
39
|
+
import '../../ui/Checkbox.js';
|
|
40
|
+
import '../../ui/UserProfile.js';
|
|
41
|
+
import '../../sendbirdSelectors.js';
|
|
42
|
+
import '../../topics-f941ba80.js';
|
|
43
|
+
import '../../ui/ContextMenu.js';
|
|
44
|
+
import '../../index-8e6a607b.js';
|
|
45
|
+
import '../../ui/SortByRow.js';
|
|
46
|
+
|
|
47
|
+
function InvalidChannel(_a) {
|
|
48
|
+
var onCloseClick = _a.onCloseClick;
|
|
49
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
50
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
51
|
+
className: "sendbird-openchannel-settings"
|
|
52
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
53
|
+
className: "sendbird-openchannel-settings__header"
|
|
54
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
55
|
+
type: LabelTypography.H_2,
|
|
56
|
+
color: LabelColors.ONBACKGROUND_1
|
|
57
|
+
}, stringSet.CHANNEL_SETTING__HEADER__TITLE), /*#__PURE__*/React__default.createElement(Icon, {
|
|
58
|
+
type: IconTypes.CLOSE,
|
|
59
|
+
className: "sendbird-openchannel-settings__close-icon",
|
|
60
|
+
height: "24px",
|
|
61
|
+
width: "24px",
|
|
62
|
+
onClick: function onClick() {
|
|
63
|
+
onCloseClick();
|
|
64
|
+
}
|
|
65
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
66
|
+
className: "sendbird-openchannel-settings__placeholder"
|
|
67
|
+
}, /*#__PURE__*/React__default.createElement(PlaceHolder, {
|
|
68
|
+
type: PlaceHolderTypes.WRONG
|
|
69
|
+
})));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var OpenChannelUI = function OpenChannelUI(_a) {
|
|
73
|
+
var _b, _c, _d;
|
|
74
|
+
|
|
75
|
+
var renderOperatorUI = _a.renderOperatorUI,
|
|
76
|
+
renderParticipantList = _a.renderParticipantList;
|
|
77
|
+
|
|
78
|
+
var _e = useOpenChannelSettingsContext(),
|
|
79
|
+
channel = _e.channel,
|
|
80
|
+
_onCloseClick = _e.onCloseClick;
|
|
81
|
+
|
|
82
|
+
var globalStore = useSendbirdStateContext();
|
|
83
|
+
var logger = (_b = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _b === void 0 ? void 0 : _b.logger;
|
|
84
|
+
var user = (_d = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _c === void 0 ? void 0 : _c.userStore) === null || _d === void 0 ? void 0 : _d.user;
|
|
85
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
86
|
+
|
|
87
|
+
if (!channel) {
|
|
88
|
+
return /*#__PURE__*/React__default.createElement(InvalidChannel, {
|
|
89
|
+
onCloseClick: function onCloseClick() {
|
|
90
|
+
logger.info('OpenChannelSettings: Click close');
|
|
91
|
+
|
|
92
|
+
if (_onCloseClick) {
|
|
93
|
+
_onCloseClick();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return /*#__PURE__*/React__default.createElement(UserProfileProvider, null, /*#__PURE__*/React__default.createElement("div", {
|
|
100
|
+
className: "sendbird-openchannel-settings"
|
|
101
|
+
}, (channel === null || channel === void 0 ? void 0 : channel.isOperator(user)) && ((renderOperatorUI === null || renderOperatorUI === void 0 ? void 0 : renderOperatorUI()) || /*#__PURE__*/React__default.createElement(OperatorUI, null)), !(channel === null || channel === void 0 ? void 0 : channel.isOperator(user)) && /*#__PURE__*/React__default.createElement("div", {
|
|
102
|
+
className: "sendbird-openchannel-settings__participant"
|
|
103
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
104
|
+
className: "sendbird-openchannel-settings__header"
|
|
105
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
106
|
+
type: LabelTypography.H_2,
|
|
107
|
+
color: LabelColors.ONBACKGROUND_1
|
|
108
|
+
}, stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE), /*#__PURE__*/React__default.createElement(Icon, {
|
|
109
|
+
type: IconTypes.CLOSE,
|
|
110
|
+
className: "sendbird-openchannel-settings__close-icon",
|
|
111
|
+
height: "24px",
|
|
112
|
+
width: "24px",
|
|
113
|
+
onClick: function onClick() {
|
|
114
|
+
_onCloseClick();
|
|
115
|
+
}
|
|
116
|
+
})), (renderParticipantList === null || renderParticipantList === void 0 ? void 0 : renderParticipantList()) || /*#__PURE__*/React__default.createElement(ParticipantsList, null))));
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export { OpenChannelUI as default };
|
|
120
|
+
//# sourceMappingURL=OpenChannelSettingsUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenChannelSettingsUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/OpenChannelSettingsUI/index.tsx"],"sourcesContent":["import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-openchannel-settings\">\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n type={IconTypes.CLOSE}\n className=\"sendbird-openchannel-settings__close-icon\"\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__placeholder\">\n <PlaceHolder type={PlaceHolderTypes.WRONG} />\n </div>\n </div>\n )\n}\n","import './open-channel-ui.scss';\n\nimport React, { useContext } from 'react';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport { UserProfileProvider } from '../../../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport InvalidChannel from '../InvalidChannel';\nimport OperatorUI from '../OperatorUI';\nimport ParticipantUI from '../ParticipantUI';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes } from '../../../../ui/Icon';\n\nexport interface OpenChannelUIProps {\n renderOperatorUI?: () => React.ReactNode;\n renderParticipantList?: () => React.ReactNode;\n}\n\nconst OpenChannelUI: React.FC<OpenChannelUIProps> = ({\n renderOperatorUI,\n renderParticipantList,\n}: OpenChannelUIProps) => {\n const {\n channel,\n onCloseClick,\n } = useOpenChannelSettingsContext();\n const globalStore = useSendbirdStateContext();\n const logger = globalStore?.config?.logger;\n const user = globalStore?.stores?.userStore?.user;\n\n const { stringSet } = useContext(LocalizationContext);\n if (!channel) {\n return (\n <InvalidChannel\n onCloseClick={() => {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n <UserProfileProvider>\n <div className='sendbird-openchannel-settings'>\n {\n channel?.isOperator(user) && (\n renderOperatorUI?.() || (\n <OperatorUI />\n )\n )\n }\n {\n !(channel?.isOperator(user)) && (\n <div className=\"sendbird-openchannel-settings__participant\">\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE}\n </Label>\n <Icon\n type={IconTypes.CLOSE}\n className=\"sendbird-openchannel-settings__close-icon\"\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n {\n renderParticipantList?.() || (\n <ParticipantUI />\n )\n }\n </div>\n )\n }\n </div>\n </UserProfileProvider>\n )\n};\n\nexport default OpenChannelUI;\n"],"names":["InvalidChannel","_a","onCloseClick","stringSet","useContext","LocalizationContext","React","LabelTypography","H_2","LabelColors","ONBACKGROUND_1","CHANNEL_SETTING__HEADER__TITLE","IconTypes","CLOSE","PlaceHolderTypes","WRONG","OpenChannelUI","renderOperatorUI","renderParticipantList","_e","useOpenChannelSettingsContext","channel","globalStore","useSendbirdStateContext","logger","config","user","stores","userStore","info","isOperator","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","ParticipantUI"],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import React__default, { useState, useContext } from 'react';
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-fb3dafcd.js';
|
|
3
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-71e2bf26.js';
|
|
4
|
+
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
|
+
import { useOpenChannelSettingsContext } from '../context.js';
|
|
6
|
+
import ChannelProfile from './OpenChannelProfile.js';
|
|
7
|
+
import Modal from '../../ui/Modal.js';
|
|
8
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
9
|
+
import ParticipantsList from './ParticipantUI.js';
|
|
10
|
+
import Accordion, { AccordionGroup } from '../../ui/Accordion.js';
|
|
11
|
+
import '../../stringSet-d3a8a2a0.js';
|
|
12
|
+
import '../../index-13729368.js';
|
|
13
|
+
import '../../_rollupPluginBabelHelpers-084fb589.js';
|
|
14
|
+
import 'prop-types';
|
|
15
|
+
import '../../UserProfileContext-6a387a08.js';
|
|
16
|
+
import '../../withSendBird.js';
|
|
17
|
+
import '../../ui/TextButton.js';
|
|
18
|
+
import '../../color-9bf8c922.js';
|
|
19
|
+
import '../../ui/OpenChannelAvatar.js';
|
|
20
|
+
import '../../ui/Avatar.js';
|
|
21
|
+
import '../../tslib.es6-a7db0cc5.js';
|
|
22
|
+
import '../../ui/ImageRenderer.js';
|
|
23
|
+
import '../../uuid-748dae7a.js';
|
|
24
|
+
import '../../utils-d9325ddf.js';
|
|
25
|
+
import './EditDetailsModal.js';
|
|
26
|
+
import '../../ui/Input.js';
|
|
27
|
+
import '../../index-b574cc8e.js';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
import '../../index-1d112ad4.js';
|
|
30
|
+
import '../../ui/IconButton.js';
|
|
31
|
+
import '../../utils-cadde06a.js';
|
|
32
|
+
import '../../context-bedea43b.js';
|
|
33
|
+
import '../../ui/UserListItem.js';
|
|
34
|
+
import '../../ui/MutedAvatarOverlay.js';
|
|
35
|
+
import '../../ui/Checkbox.js';
|
|
36
|
+
import '../../ui/UserProfile.js';
|
|
37
|
+
import '../../sendbirdSelectors.js';
|
|
38
|
+
import '../../topics-f941ba80.js';
|
|
39
|
+
import '../../ui/ContextMenu.js';
|
|
40
|
+
import '../../index-8e6a607b.js';
|
|
41
|
+
import '../../ui/SortByRow.js';
|
|
42
|
+
import '../../ui/AccordionGroup.js';
|
|
43
|
+
|
|
44
|
+
function DeleteChannel() {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
|
|
47
|
+
var _c = useState(false),
|
|
48
|
+
showDeleteChannelModal = _c[0],
|
|
49
|
+
setShowDeleteChannelModal = _c[1];
|
|
50
|
+
|
|
51
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
52
|
+
var globalState = useSendbirdStateContext();
|
|
53
|
+
var isOnline = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.isOnline;
|
|
54
|
+
var logger = (_b = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _b === void 0 ? void 0 : _b.logger;
|
|
55
|
+
|
|
56
|
+
var _d = useOpenChannelSettingsContext(),
|
|
57
|
+
channel = _d.channel,
|
|
58
|
+
onDeleteChannel = _d.onDeleteChannel;
|
|
59
|
+
|
|
60
|
+
var deleteChannel = function deleteChannel() {
|
|
61
|
+
channel === null || channel === void 0 ? void 0 : channel.delete().then(function (response) {
|
|
62
|
+
logger.info('OpenChannelSettings: Delete channel success', response);
|
|
63
|
+
|
|
64
|
+
if (onDeleteChannel) {
|
|
65
|
+
onDeleteChannel(channel);
|
|
66
|
+
}
|
|
67
|
+
}).catch(function (error) {
|
|
68
|
+
logger.warning('OpenChannelSettings: Delete channel failed', error);
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
73
|
+
className: "sendbird-openchannel-settings__panel-item\n sendbird-openchannel-settings__delete-channel\n ".concat(!isOnline ? 'sendbird-openchannel-settings__panel-item__disabled' : ''),
|
|
74
|
+
role: "button",
|
|
75
|
+
tabIndex: 0,
|
|
76
|
+
onKeyDown: function onKeyDown() {
|
|
77
|
+
if (!isOnline) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
setShowDeleteChannelModal(true);
|
|
82
|
+
},
|
|
83
|
+
onClick: function onClick() {
|
|
84
|
+
if (!isOnline) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
setShowDeleteChannelModal(true);
|
|
89
|
+
}
|
|
90
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
91
|
+
type: IconTypes.DELETE,
|
|
92
|
+
className: ['sendbird-openchannel-settings__panel-icon-left', 'sendbird-openchannel-settings__panel-icon__delete'].join(' '),
|
|
93
|
+
height: "24px",
|
|
94
|
+
width: "24px"
|
|
95
|
+
}), /*#__PURE__*/React__default.createElement(Label, {
|
|
96
|
+
type: LabelTypography.SUBTITLE_1,
|
|
97
|
+
color: LabelColors.ONBACKGROUND_1
|
|
98
|
+
}, stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL)), showDeleteChannelModal && /*#__PURE__*/React__default.createElement(Modal, {
|
|
99
|
+
onCancel: function onCancel() {
|
|
100
|
+
setShowDeleteChannelModal(false);
|
|
101
|
+
},
|
|
102
|
+
onSubmit: function onSubmit() {
|
|
103
|
+
deleteChannel();
|
|
104
|
+
},
|
|
105
|
+
submitText: stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT,
|
|
106
|
+
titleText: stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
var copyToClipboard = function copyToClipboard(text) {
|
|
111
|
+
// @ts-ignore: Unreachable code error
|
|
112
|
+
if (window.clipboardData && window.clipboardData.setData) {
|
|
113
|
+
// Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.
|
|
114
|
+
// @ts-ignore: Unreachable code error
|
|
115
|
+
return window.clipboardData.setData('Text', text);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (document.queryCommandSupported && document.queryCommandSupported('copy')) {
|
|
119
|
+
var textarea = document.createElement('textarea');
|
|
120
|
+
textarea.textContent = text;
|
|
121
|
+
textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.
|
|
122
|
+
|
|
123
|
+
document.body.appendChild(textarea);
|
|
124
|
+
textarea.select();
|
|
125
|
+
|
|
126
|
+
try {
|
|
127
|
+
return document.execCommand('copy'); // Security exception may be thrown by some browsers.
|
|
128
|
+
} catch (ex) {
|
|
129
|
+
return false;
|
|
130
|
+
} finally {
|
|
131
|
+
document.body.removeChild(textarea);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return false;
|
|
136
|
+
};
|
|
137
|
+
var OperatorUI = function OperatorUI(_a) {
|
|
138
|
+
var renderChannelProfile = _a.renderChannelProfile;
|
|
139
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
140
|
+
|
|
141
|
+
var _b = useOpenChannelSettingsContext(),
|
|
142
|
+
onCloseClick = _b.onCloseClick,
|
|
143
|
+
channel = _b.channel;
|
|
144
|
+
|
|
145
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
146
|
+
className: "sendbird-openchannel-settings__header"
|
|
147
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
148
|
+
type: LabelTypography.H_2,
|
|
149
|
+
color: LabelColors.ONBACKGROUND_1
|
|
150
|
+
}, stringSet.CHANNEL_SETTING__HEADER__TITLE), /*#__PURE__*/React__default.createElement(Icon, {
|
|
151
|
+
className: "sendbird-openchannel-settings__close-icon",
|
|
152
|
+
type: IconTypes.CLOSE,
|
|
153
|
+
height: "24px",
|
|
154
|
+
width: "24px",
|
|
155
|
+
onClick: function onClick() {
|
|
156
|
+
onCloseClick();
|
|
157
|
+
}
|
|
158
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
159
|
+
className: "sendbird-openchannel-settings__profile"
|
|
160
|
+
}, (renderChannelProfile === null || renderChannelProfile === void 0 ? void 0 : renderChannelProfile()) || /*#__PURE__*/React__default.createElement(ChannelProfile, null)), /*#__PURE__*/React__default.createElement("div", {
|
|
161
|
+
className: "sendbird-openchannel-settings__url"
|
|
162
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
163
|
+
className: "sendbird-openchannel-settings__copy-icon",
|
|
164
|
+
type: IconTypes.COPY,
|
|
165
|
+
height: "22px",
|
|
166
|
+
width: "22px",
|
|
167
|
+
onClick: function onClick() {
|
|
168
|
+
copyToClipboard(channel === null || channel === void 0 ? void 0 : channel.url);
|
|
169
|
+
}
|
|
170
|
+
}), /*#__PURE__*/React__default.createElement(Label, {
|
|
171
|
+
className: "sendbird-openchannel-settings__url-label",
|
|
172
|
+
type: LabelTypography.CAPTION_2,
|
|
173
|
+
color: LabelColors.ONBACKGROUND_2
|
|
174
|
+
}, stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL), /*#__PURE__*/React__default.createElement(Label, {
|
|
175
|
+
className: "sendbird-openchannel-settings__url-value",
|
|
176
|
+
type: LabelTypography.SUBTITLE_2
|
|
177
|
+
}, channel === null || channel === void 0 ? void 0 : channel.url)), /*#__PURE__*/React__default.createElement(AccordionGroup, null, /*#__PURE__*/React__default.createElement(Accordion, {
|
|
178
|
+
className: "sendbird-channel-settings__operators-list",
|
|
179
|
+
id: "participants",
|
|
180
|
+
renderTitle: function renderTitle() {
|
|
181
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Icon, {
|
|
182
|
+
type: IconTypes.MEMBERS,
|
|
183
|
+
fillColor: IconColors.PRIMARY,
|
|
184
|
+
width: 24,
|
|
185
|
+
height: 24,
|
|
186
|
+
className: "sendbird-openchannel-settings__operator-accordion-icon"
|
|
187
|
+
}), /*#__PURE__*/React__default.createElement(Label, {
|
|
188
|
+
type: LabelTypography.SUBTITLE_1,
|
|
189
|
+
color: LabelColors.ONBACKGROUND_1
|
|
190
|
+
}, stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE));
|
|
191
|
+
},
|
|
192
|
+
renderContent: function renderContent() {
|
|
193
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(ParticipantsList, null));
|
|
194
|
+
}
|
|
195
|
+
})), /*#__PURE__*/React__default.createElement(DeleteChannel, null));
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export { OperatorUI, copyToClipboard, OperatorUI as default };
|
|
199
|
+
//# sourceMappingURL=OperatorUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OperatorUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/DeleteOpenChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/OperatorUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { useOpenChannelSettingsContext } from '../context/OpenChannelSettingsProvider';\n\nexport default function DeleteChannel(): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const globalState = useSendbirdStateContext();\n const isOnline = globalState?.config?.isOnline;\n const logger = globalState?.config?.logger;\n\n const { channel, onDeleteChannel } = useOpenChannelSettingsContext();\n\n const deleteChannel = () => {\n channel?.delete().then((response) => {\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n }).catch((error) => {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n });\n }\n return (\n <>\n <div\n className={\n `sendbird-openchannel-settings__panel-item\n sendbird-openchannel-settings__delete-channel\n ${!isOnline ? 'sendbird-openchannel-settings__panel-item__disabled' : ''}`\n }\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n <Icon\n type={IconTypes.DELETE}\n className={[\n 'sendbird-openchannel-settings__panel-icon-left',\n 'sendbird-openchannel-settings__panel-icon__delete',\n ].join(' ')}\n height=\"24px\"\n width=\"24px\"\n />\n <Label\n type={LabelTypography.SUBTITLE_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n </Label>\n </div>\n {\n showDeleteChannelModal && (\n <Modal\n onCancel={() => {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n deleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n </>\n )\n}\n","import React, { useContext } from 'react';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, {\n IconTypes,\n IconColors,\n} from '../../../../ui/Icon';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport OpenChannelProfile from '../OpenChannelProfile';\nimport DeleteChannel from '../DeleteOpenChannel';\nimport ParticipantsAccordion from '../ParticipantUI';\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport interface OperatorUIProps {\n renderChannelProfile?: () => React.ReactNode;\n}\n\nexport const OperatorUI: React.FC<OperatorUIProps> = ({\n renderChannelProfile,\n}: OperatorUIProps) => {\n const { stringSet } = useContext(LocalizationContext);\n const {\n onCloseClick,\n channel,\n } = useOpenChannelSettingsContext();\n return (\n <>\n <div className=\"sendbird-openchannel-settings__header\">\n <Label type={LabelTypography.H_2} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.CHANNEL_SETTING__HEADER__TITLE}\n </Label>\n <Icon\n className=\"sendbird-openchannel-settings__close-icon\"\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={() => {\n onCloseClick();\n }}\n />\n </div>\n <div className=\"sendbird-openchannel-settings__profile\">\n {\n renderChannelProfile?.() || (\n <OpenChannelProfile />\n )\n }\n </div>\n <div className=\"sendbird-openchannel-settings__url\">\n <Icon\n className=\"sendbird-openchannel-settings__copy-icon\"\n type={IconTypes.COPY}\n height=\"22px\"\n width=\"22px\"\n onClick={() => {\n copyToClipboard(channel?.url);\n }}\n />\n <Label\n className=\"sendbird-openchannel-settings__url-label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n </Label>\n <Label\n className=\"sendbird-openchannel-settings__url-value\"\n type={LabelTypography.SUBTITLE_2}\n >\n {channel?.url}\n </Label>\n </div>\n <AccordionGroup>\n <Accordion\n className=\"sendbird-channel-settings__operators-list\"\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__operator-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 <>\n <ParticipantsAccordion />\n </>\n )}\n />\n </AccordionGroup>\n <DeleteChannel />\n </>\n );\n};\n\nexport default OperatorUI;\n"],"names":["DeleteChannel","_c","useState","showDeleteChannelModal","setShowDeleteChannelModal","stringSet","useContext","LocalizationContext","globalState","useSendbirdStateContext","isOnline","config","logger","_d","useOpenChannelSettingsContext","channel","onDeleteChannel","deleteChannel","delete","then","response","info","catch","error","warning","React","IconTypes","DELETE","join","LabelTypography","SUBTITLE_1","LabelColors","ONBACKGROUND_1","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","copyToClipboard","text","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OperatorUI","_a","renderChannelProfile","_b","onCloseClick","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","OpenChannelProfile","COPY","url","CAPTION_2","ONBACKGROUND_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","SUBTITLE_2","MEMBERS","IconColors","PRIMARY","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","ParticipantsAccordion"],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { a as __spreadArray } from '../../tslib.es6-a7db0cc5.js';
|
|
2
|
+
import React__default, { useRef, useContext, useState, useEffect } from 'react';
|
|
3
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-71e2bf26.js';
|
|
4
|
+
import { a as LocalizationContext } from '../../LocalizationContext-fb3dafcd.js';
|
|
5
|
+
import { a as UserProfileContext } from '../../UserProfileContext-6a387a08.js';
|
|
6
|
+
import '../../index-b574cc8e.js';
|
|
7
|
+
import '../../ui/Icon.js';
|
|
8
|
+
import '../../context-bedea43b.js';
|
|
9
|
+
import Avatar from '../../ui/Avatar.js';
|
|
10
|
+
import '../../ui/Modal.js';
|
|
11
|
+
import '../../ui/UserListItem.js';
|
|
12
|
+
import ConnectedUserProfile from '../../ui/UserProfile.js';
|
|
13
|
+
import ContextMenu, { MenuItems } from '../../ui/ContextMenu.js';
|
|
14
|
+
import { useOpenChannelSettingsContext } from '../context.js';
|
|
15
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
16
|
+
import '../../_rollupPluginBabelHelpers-084fb589.js';
|
|
17
|
+
import 'prop-types';
|
|
18
|
+
import '../../stringSet-d3a8a2a0.js';
|
|
19
|
+
import '../../index-13729368.js';
|
|
20
|
+
import '../../utils-cadde06a.js';
|
|
21
|
+
import '../../ui/ImageRenderer.js';
|
|
22
|
+
import '../../uuid-748dae7a.js';
|
|
23
|
+
import 'react-dom';
|
|
24
|
+
import '../../index-1d112ad4.js';
|
|
25
|
+
import '../../ui/IconButton.js';
|
|
26
|
+
import '../../ui/MutedAvatarOverlay.js';
|
|
27
|
+
import '../../ui/Checkbox.js';
|
|
28
|
+
import '../../withSendBird.js';
|
|
29
|
+
import '../../sendbirdSelectors.js';
|
|
30
|
+
import '../../topics-f941ba80.js';
|
|
31
|
+
import '../../index-8e6a607b.js';
|
|
32
|
+
import '../../ui/SortByRow.js';
|
|
33
|
+
|
|
34
|
+
var UserListItem = function UserListItem(_a) {
|
|
35
|
+
var member = _a.member,
|
|
36
|
+
currentUser = _a.currentUser;
|
|
37
|
+
var avatarRef = useRef(null);
|
|
38
|
+
|
|
39
|
+
var _b = useContext(UserProfileContext),
|
|
40
|
+
disableUserProfile = _b.disableUserProfile,
|
|
41
|
+
renderUserProfile = _b.renderUserProfile;
|
|
42
|
+
|
|
43
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
44
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
45
|
+
className: "sendbird-participants-accordion__member"
|
|
46
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
47
|
+
className: "sendbird-participants-accordion__member-avatar"
|
|
48
|
+
}, /*#__PURE__*/React__default.createElement(ContextMenu, {
|
|
49
|
+
menuTrigger: function menuTrigger(toggleDropdown) {
|
|
50
|
+
return /*#__PURE__*/React__default.createElement(Avatar, {
|
|
51
|
+
onClick: function onClick() {
|
|
52
|
+
if (!disableUserProfile) {
|
|
53
|
+
toggleDropdown();
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
ref: avatarRef,
|
|
57
|
+
src: member.profileUrl,
|
|
58
|
+
width: 24,
|
|
59
|
+
height: 24
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
menuItems: function menuItems(closeDropdown) {
|
|
63
|
+
return /*#__PURE__*/React__default.createElement(MenuItems, {
|
|
64
|
+
openLeft: true,
|
|
65
|
+
parentRef: avatarRef // for catching location(x, y) of MenuItems
|
|
66
|
+
,
|
|
67
|
+
parentContainRef: avatarRef // for toggling more options(menus & reactions)
|
|
68
|
+
,
|
|
69
|
+
closeDropdown: closeDropdown,
|
|
70
|
+
style: {
|
|
71
|
+
paddingTop: 0,
|
|
72
|
+
paddingBottom: 0
|
|
73
|
+
}
|
|
74
|
+
}, renderUserProfile ? renderUserProfile({
|
|
75
|
+
user: member,
|
|
76
|
+
currentUserId: currentUser,
|
|
77
|
+
close: closeDropdown
|
|
78
|
+
}) : /*#__PURE__*/React__default.createElement(ConnectedUserProfile, {
|
|
79
|
+
disableMessaging: true,
|
|
80
|
+
user: member,
|
|
81
|
+
currentUserId: currentUser,
|
|
82
|
+
onSuccess: closeDropdown
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
})), /*#__PURE__*/React__default.createElement(Label, {
|
|
86
|
+
type: LabelTypography.SUBTITLE_2,
|
|
87
|
+
color: LabelColors.ONBACKGROUND_1
|
|
88
|
+
}, member.nickname || stringSet.NO_NAME, currentUser === member.userId && stringSet.CHANNEL_SETTING__MEMBERS__YOU));
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
function ParticipantsList() {
|
|
92
|
+
var _a;
|
|
93
|
+
|
|
94
|
+
var globalState = useSendbirdStateContext();
|
|
95
|
+
var currentUser = (_a = globalState === null || globalState === void 0 ? void 0 : globalState.config) === null || _a === void 0 ? void 0 : _a.userId;
|
|
96
|
+
var channel = useOpenChannelSettingsContext().channel;
|
|
97
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
98
|
+
|
|
99
|
+
var _b = useState([]),
|
|
100
|
+
participants = _b[0],
|
|
101
|
+
setParticipants = _b[1];
|
|
102
|
+
|
|
103
|
+
var _c = useState(null),
|
|
104
|
+
participantListQuery = _c[0],
|
|
105
|
+
setParticipantListQuery = _c[1];
|
|
106
|
+
|
|
107
|
+
useEffect(function () {
|
|
108
|
+
if (!channel || !(channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var participantListQuery = channel === null || channel === void 0 ? void 0 : channel.createParticipantListQuery({});
|
|
113
|
+
setParticipantListQuery(participantListQuery);
|
|
114
|
+
participantListQuery.next().then(function (participantList) {
|
|
115
|
+
setParticipants(participantList);
|
|
116
|
+
});
|
|
117
|
+
}, [channel]);
|
|
118
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
119
|
+
className: "sendbird-openchannel-settings__participants-list",
|
|
120
|
+
onScroll: function onScroll(e) {
|
|
121
|
+
var hasNext = participantListQuery.hasNext;
|
|
122
|
+
var target = e.target;
|
|
123
|
+
var fetchMore = target.clientHeight + target.scrollTop === target.scrollHeight;
|
|
124
|
+
|
|
125
|
+
if (hasNext && fetchMore) {
|
|
126
|
+
participantListQuery.next().then(function (fetchedParticipants) {
|
|
127
|
+
setParticipants(__spreadArray(__spreadArray([], participants, true), fetchedParticipants, true));
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}, /*#__PURE__*/React__default.createElement("div", null, participants.map(function (p) {
|
|
132
|
+
return /*#__PURE__*/React__default.createElement(UserListItem, {
|
|
133
|
+
member: p,
|
|
134
|
+
currentUser: currentUser,
|
|
135
|
+
key: p.userId
|
|
136
|
+
});
|
|
137
|
+
}), participants && participants.length === 0 ? /*#__PURE__*/React__default.createElement(Label, {
|
|
138
|
+
className: "sendbird-channel-settings__empty-list",
|
|
139
|
+
type: LabelTypography.SUBTITLE_2,
|
|
140
|
+
color: LabelColors.ONBACKGROUND_3
|
|
141
|
+
}, stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST) : null));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export { ParticipantsList as default };
|
|
145
|
+
//# sourceMappingURL=ParticipantUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParticipantUI.js","sources":["../../../src/smart-components/OpenChannelSettings/components/ParticipantUI/ParticipantItem.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantUI/index.tsx"],"sourcesContent":["import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { User } from '@sendbird/chat';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../../lib/UserProfileContext';\nimport Button, { ButtonTypes, ButtonSizes } from '../../../../ui/Button';\nimport Accordion from '../../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Avatar from '../../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../../ui/ContextMenu';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: User;\n currentUser?: string;\n}\n\nexport const UserListItem: React.FC<UserListItemProps> = ({\n member,\n currentUser,\n}: UserListItemProps) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-participants-accordion__member\">\n <div className=\"sendbird-participants-accordion__member-avatar\">\n <ContextMenu\n menuTrigger={(toggleDropdown) => (\n <Avatar\n onClick={() => {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n <MenuItems\n openLeft\n parentRef={avatarRef}\n // for catching location(x, y) of MenuItems\n parentContainRef={avatarRef}\n // for toggling more options(menus & reactions)\n closeDropdown={closeDropdown}\n style={{ paddingTop: 0, paddingBottom: 0 }}\n >\n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n <UserProfile\n disableMessaging\n user={member}\n currentUserId={currentUser}\n onSuccess={closeDropdown}\n />\n )\n }\n </MenuItems>\n )}\n />\n </div>\n <Label type={LabelTypography.SUBTITLE_2} color={LabelColors.ONBACKGROUND_1}>\n {member.nickname || stringSet.NO_NAME}\n {\n (currentUser === member.userId) && (\n stringSet.CHANNEL_SETTING__MEMBERS__YOU\n )\n }\n </Label>\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 member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n {\n participants.length >= maxMembers && (\n <div className=\"sendbird-participants-accordion__footer\">\n <Button\n className=\"sendbird-participants-accordion__footer__all-participants\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={() => setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n </Button>\n {\n showMoreModal && (\n <ParticipantsModal\n onCancel={() => {\n setShowMoreModal(false);\n }}\n />\n )\n }\n </div>\n )\n }\n </div>\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport type { User } from '@sendbird/chat';\nimport type { ParticipantListQuery } from '@sendbird/chat/openChannel';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\n\nimport { UserListItem } from './ParticipantItem';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { useOpenChannelSettingsContext } from '../../context/OpenChannelSettingsProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\n\nexport default function ParticipantsList(): ReactElement {\n const globalState = useSendbirdStateContext();\n const currentUser = globalState?.config?.userId;\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 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 }, [channel]);\n return (\n <div\n className=\"sendbird-openchannel-settings__participants-list\"\n onScroll={(e) => {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next().then((fetchedParticipants) => {\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n <div>\n {\n participants.map((p: User) => (\n <UserListItem\n member={p}\n currentUser={currentUser}\n key={p.userId}\n />\n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n <Label\n className=\"sendbird-channel-settings__empty-list\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_3}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n </Label>\n ): null\n }\n </div>\n </div>\n )\n}\n"],"names":["UserListItem","_a","member","currentUser","avatarRef","useRef","_b","useContext","UserProfileContext","disableUserProfile","renderUserProfile","stringSet","LocalizationContext","React","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","nickname","NO_NAME","userId","CHANNEL_SETTING__MEMBERS__YOU","ParticipantsList","globalState","useSendbirdStateContext","config","channel","useOpenChannelSettingsContext","useState","participants","setParticipants","_c","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","then","participantList","e","hasNext","target","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React__default, { useState, useEffect } from 'react';
|
|
2
|
+
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
3
|
+
import { U as UserProfileProvider } from '../UserProfileContext-6a387a08.js';
|
|
4
|
+
import '../withSendBird.js';
|
|
5
|
+
import '../_rollupPluginBabelHelpers-084fb589.js';
|
|
6
|
+
import 'prop-types';
|
|
7
|
+
|
|
8
|
+
var OpenChannelSettingsContext = /*#__PURE__*/React__default.createContext(undefined);
|
|
9
|
+
|
|
10
|
+
var OpenChannelSettingsProvider = function OpenChannelSettingsProvider(props) {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
|
|
13
|
+
var children = props.children,
|
|
14
|
+
channelUrl = props.channelUrl,
|
|
15
|
+
onCloseClick = props.onCloseClick,
|
|
16
|
+
onChannelModified = props.onChannelModified,
|
|
17
|
+
onBeforeUpdateChannel = props.onBeforeUpdateChannel,
|
|
18
|
+
onDeleteChannel = props.onDeleteChannel; // fetch store from <SendbirdProvider />
|
|
19
|
+
|
|
20
|
+
var globalStore = useSendbirdStateContext();
|
|
21
|
+
var sdk = (_b = (_a = globalStore === null || globalStore === void 0 ? void 0 : globalStore.stores) === null || _a === void 0 ? void 0 : _a.sdkStore) === null || _b === void 0 ? void 0 : _b.sdk;
|
|
22
|
+
var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
|
|
23
|
+
|
|
24
|
+
var _d = useState(null),
|
|
25
|
+
channel = _d[0],
|
|
26
|
+
setChannel = _d[1];
|
|
27
|
+
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (!channelUrl || !sdk.openChannel) {
|
|
30
|
+
setChannel(null);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
sdk.openChannel.getChannel(channelUrl).then(function (channel) {
|
|
35
|
+
logger.info('open channel setting: fetched', channel);
|
|
36
|
+
setChannel(channel);
|
|
37
|
+
}).catch(function (error) {
|
|
38
|
+
logger.error('open channel setting: error fetching', error);
|
|
39
|
+
setChannel(null);
|
|
40
|
+
});
|
|
41
|
+
}, [channelUrl, sdk]);
|
|
42
|
+
return /*#__PURE__*/React__default.createElement(OpenChannelSettingsContext.Provider, {
|
|
43
|
+
value: {
|
|
44
|
+
channelUrl: channelUrl,
|
|
45
|
+
channel: channel,
|
|
46
|
+
setChannel: setChannel,
|
|
47
|
+
onCloseClick: onCloseClick,
|
|
48
|
+
onChannelModified: onChannelModified,
|
|
49
|
+
onBeforeUpdateChannel: onBeforeUpdateChannel,
|
|
50
|
+
onDeleteChannel: onDeleteChannel
|
|
51
|
+
}
|
|
52
|
+
}, /*#__PURE__*/React__default.createElement(UserProfileProvider, {
|
|
53
|
+
isOpenChannel: true,
|
|
54
|
+
renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
|
|
55
|
+
disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile
|
|
56
|
+
}, children));
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var useOpenChannelSettingsContext = function useOpenChannelSettingsContext() {
|
|
60
|
+
return React__default.useContext(OpenChannelSettingsContext);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { OpenChannelSettingsProvider, useOpenChannelSettingsContext };
|
|
64
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/smart-components/OpenChannelSettings/context/OpenChannelSettingsProvider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n} from 'react';\nimport type { OpenChannel, OpenChannelUpdateParams, SendbirdOpenChat } from '@sendbird/chat/openChannel';\n\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\nimport { UserProfileProvider } from '../../../lib/UserProfileContext';\nimport { RenderUserProfileProps } from '../../../types';\n\nexport interface OpenChannelSettingsContextProps {\n channelUrl: string;\n children?: React.ReactNode;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n disableUserProfile?: boolean;\n renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode;\n}\n\ninterface OpenChannelSettingsContextType {\n channelUrl: string;\n channel?: OpenChannel;\n setChannel?: React.Dispatch<React.SetStateAction<OpenChannel>>;\n onCloseClick?(): void;\n onBeforeUpdateChannel?(currentTitle: string, currentImg: File, data: string): OpenChannelUpdateParams;\n onChannelModified?(channel: OpenChannel): void;\n onDeleteChannel?(channel: OpenChannel): void;\n}\n\nconst OpenChannelSettingsContext = React.createContext<OpenChannelSettingsContextType | null>(undefined);\n\nconst OpenChannelSettingsProvider: React.FC<OpenChannelSettingsContextProps> = (props: OpenChannelSettingsContextProps) => {\n const {\n children,\n channelUrl,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n } = props;\n\n // fetch store from <SendbirdProvider />\n const globalStore = useSendbirdStateContext();\n const sdk = globalStore?.stores?.sdkStore?.sdk as SendbirdOpenChat;\n\n const logger = globalStore?.config?.logger;\n\n const [channel, setChannel] = useState<OpenChannel | null>(null);\n useEffect(() => {\n if (!channelUrl || !sdk.openChannel) {\n setChannel(null);\n return;\n }\n\n sdk.openChannel.getChannel(channelUrl)\n .then((channel) => {\n logger.info('open channel setting: fetched', channel);\n setChannel(channel);\n })\n .catch((error) => {\n logger.error('open channel setting: error fetching', error);\n setChannel(null);\n });\n }, [channelUrl, sdk]);\n\n return (\n <OpenChannelSettingsContext.Provider value={{\n channelUrl,\n channel,\n setChannel,\n onCloseClick,\n onChannelModified,\n onBeforeUpdateChannel,\n onDeleteChannel,\n }}>\n <UserProfileProvider\n isOpenChannel\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n {children}\n </UserProfileProvider>\n </OpenChannelSettingsContext.Provider>\n );\n}\n\ntype useOpenChannelSettingsType = () => OpenChannelSettingsContextType;\nconst useOpenChannelSettingsContext: useOpenChannelSettingsType = () => React.useContext(OpenChannelSettingsContext);\n\nexport {\n OpenChannelSettingsProvider,\n useOpenChannelSettingsContext,\n};\n"],"names":["OpenChannelSettingsContext","React","createContext","undefined","OpenChannelSettingsProvider","props","children","channelUrl","onCloseClick","onChannelModified","onBeforeUpdateChannel","onDeleteChannel","globalStore","useSendbirdStateContext","sdk","stores","sdkStore","logger","config","_d","useState","channel","setChannel","useEffect","openChannel","getChannel","then","info","catch","error","renderUserProfile","disableUserProfile","useOpenChannelSettingsContext","useContext"],"mappings":";;;;;;;AA+BA,IAAMA,0BAA0B,gBAAGC,cAAK,CAACC,aAAN,CAA2DC,SAA3D,CAAnC;;IAEMC,2BAA2B,GAA8C,SAAzEA,2BAAyE,CAACC,KAAD;;;AAE3E,MAAAC,QAAQ,GAMND,KAAK,SANP;AAAA,MACAE,UAAU,GAKRF,KAAK,WANP;AAAA,MAEAG,YAAY,GAIVH,KAAK,aANP;AAAA,MAGAI,iBAAiB,GAGfJ,KAAK,kBANP;AAAA,MAIAK,qBAAqB,GAEnBL,KAAK,sBANP;AAAA,MAKAM,eAAe,GACbN,KAAK,gBANP;;AASF,MAAMO,WAAW,GAAGC,uBAAuB,EAA3C;AACA,MAAMC,GAAG,GAAG,MAAA,MAAAF,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEG,MAAb,UAAA,iBAAA,SAAA,MAAqBC,QAArB,UAAA,iBAAA,SAAA,MAA+BF,GAA3C;AAEA,MAAMG,MAAM,GAAG,MAAAL,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEM,MAAb,UAAA,iBAAA,SAAA,MAAqBD,MAApC;;AAEM,MAAAE,KAAwBC,QAAQ,CAAqB,IAArB,CAAhC;AAAA,MAACC,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACNC,EAAAA,SAAS,CAAC;AACR,QAAI,CAAChB,UAAD,IAAe,CAACO,GAAG,CAACU,WAAxB,EAAqC;AACnCF,MAAAA,UAAU,CAAC,IAAD,CAAV;AACA;AACD;;AAEDR,IAAAA,GAAG,CAACU,WAAJ,CAAgBC,UAAhB,CAA2BlB,UAA3B,EACGmB,IADH,CACQ,UAACL,OAAD;AACJJ,MAAAA,MAAM,CAACU,IAAP,CAAY,+BAAZ,EAA6CN,OAA7C;AACAC,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KAJH,EAKGO,KALH,CAKS,UAACC,KAAD;AACLZ,MAAAA,MAAM,CAACY,KAAP,CAAa,sCAAb,EAAqDA,KAArD;AACAP,MAAAA,UAAU,CAAC,IAAD,CAAV;AACD,KARH;AASD,GAfQ,EAeN,CAACf,UAAD,EAAaO,GAAb,CAfM,CAAT;AAiBA,sBACEb,6BAAC,0BAAD,CAA4B,QAA5B;AAAqC,IAAA,KAAK,EAAE;AAC1CM,MAAAA,UAAU,YADgC;AAE1Cc,MAAAA,OAAO,SAFmC;AAG1CC,MAAAA,UAAU,YAHgC;AAI1Cd,MAAAA,YAAY,cAJ8B;AAK1CC,MAAAA,iBAAiB,mBALyB;AAM1CC,MAAAA,qBAAqB,uBANqB;AAO1CC,MAAAA,eAAe;AAP2B;AAA5C,kBASEV,6BAAC,mBAAD;AACE,IAAA,aAAa,MADf;AAEE,IAAA,iBAAiB,EAAEI,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEyB,iBAF5B;AAGE,IAAA,kBAAkB,EAAEzB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAE0B;AAH7B,KAKGzB,QALH,CATF,CADF;AAmBD;;IAGK0B,6BAA6B,GAA+B,SAA5DA,6BAA4D;AAAM,SAAA/B,cAAK,CAACgC,UAAN,CAAiBjC,0BAAjB,CAAA;AAA4C;;;;"}
|