@sendbird/uikit-react 3.0.0-beta.4 → 3.0.0-beta.5
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 +313 -0
- package/App.js.map +1 -0
- package/Channel/components/ChannelHeader.js +117 -0
- package/Channel/components/ChannelHeader.js.map +1 -0
- package/Channel/components/ChannelUI.js +179 -0
- package/Channel/components/ChannelUI.js.map +1 -0
- package/Channel/components/FileViewer.js +151 -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 +355 -0
- package/Channel/components/Message.js.map +1 -0
- package/Channel/components/MessageInput.js +202 -0
- package/Channel/components/MessageInput.js.map +1 -0
- package/Channel/components/MessageList.js +239 -0
- package/Channel/components/MessageList.js.map +1 -0
- package/Channel/components/RemoveMessageModal.js +53 -0
- package/Channel/components/RemoveMessageModal.js.map +1 -0
- package/Channel/components/SuggestedMentionList.js +250 -0
- package/Channel/components/SuggestedMentionList.js.map +1 -0
- package/Channel/components/TypingIndicator.js +98 -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 +24 -0
- package/Channel/context.js.map +1 -0
- package/Channel.js +106 -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 +236 -0
- package/ChannelList/components/ChannelListUI.js.map +1 -0
- package/ChannelList/components/ChannelPreview.js +211 -0
- package/ChannelList/components/ChannelPreview.js.map +1 -0
- package/ChannelList/components/ChannelPreviewAction.js +131 -0
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/ChannelList/context.js +13 -0
- package/ChannelList/context.js.map +1 -0
- package/ChannelList.js +89 -0
- package/ChannelList.js.map +1 -0
- package/ChannelListProvider-a7bdd63a.js +923 -0
- package/ChannelListProvider-a7bdd63a.js.map +1 -0
- package/ChannelProvider-923b58df.js +2114 -0
- package/ChannelProvider-923b58df.js.map +1 -0
- package/ChannelSettings/components/AdminPanel.js +905 -0
- package/ChannelSettings/components/AdminPanel.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 +154 -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/UserListItem.js +105 -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/InviteMembers.js +184 -0
- package/CreateChannel/components/InviteMembers.js.map +1 -0
- package/CreateChannel/components/SelectChannelType.js +131 -0
- package/CreateChannel/components/SelectChannelType.js.map +1 -0
- package/CreateChannel/context.js +8 -0
- package/CreateChannel/context.js.map +1 -0
- package/CreateChannel.js +53 -0
- package/CreateChannel.js.map +1 -0
- package/CreateChannelProvider-e491613f.js +53 -0
- package/CreateChannelProvider-e491613f.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-0e05ddca.js +22 -0
- package/LocalizationContext-0e05ddca.js.map +1 -0
- package/MemberList-ed7da941.js +425 -0
- package/MemberList-ed7da941.js.map +1 -0
- package/MessageSearch/components/MessageSearchUI.js +151 -0
- package/MessageSearch/components/MessageSearchUI.js.map +1 -0
- package/MessageSearch/context.js +392 -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 +78 -0
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/OpenChannel/components/OpenChannelInput.js +56 -0
- package/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessage.js +282 -0
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/OpenChannel/components/OpenChannelMessageList.js +157 -0
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/OpenChannel/components/OpenChannelUI.js +109 -0
- package/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/OpenChannel/context.js +14 -0
- package/OpenChannel/context.js.map +1 -0
- package/OpenChannel.js +80 -0
- package/OpenChannel.js.map +1 -0
- package/OpenChannelProvider-45a848a3.js +2011 -0
- package/OpenChannelProvider-45a848a3.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +149 -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 +104 -0
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/OpenChannelSettings/components/OperatorUI.js +184 -0
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/OpenChannelSettings/components/ParticipantUI.js +172 -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/SendbirdProvider.js +762 -0
- package/SendbirdProvider.js.map +1 -0
- package/UserProfileContext-90704c73.js +38 -0
- package/UserProfileContext-90704c73.js.map +1 -0
- package/_rollupPluginBabelHelpers-c7eeba03.js +233 -0
- package/_rollupPluginBabelHelpers-c7eeba03.js.map +1 -0
- package/actionTypes-e0f4e19c.js +6 -0
- package/actionTypes-e0f4e19c.js.map +1 -0
- package/cjs/App.js +320 -0
- package/cjs/App.js.map +1 -0
- package/cjs/Channel/components/ChannelHeader.js +123 -0
- package/cjs/Channel/components/ChannelHeader.js.map +1 -0
- package/cjs/Channel/components/ChannelUI.js +185 -0
- package/cjs/Channel/components/ChannelUI.js.map +1 -0
- package/cjs/Channel/components/FileViewer.js +160 -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 +361 -0
- package/cjs/Channel/components/Message.js.map +1 -0
- package/cjs/Channel/components/MessageInput.js +208 -0
- package/cjs/Channel/components/MessageInput.js.map +1 -0
- package/cjs/Channel/components/MessageList.js +245 -0
- package/cjs/Channel/components/MessageList.js.map +1 -0
- package/cjs/Channel/components/RemoveMessageModal.js +59 -0
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -0
- package/cjs/Channel/components/SuggestedMentionList.js +256 -0
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -0
- package/cjs/Channel/components/TypingIndicator.js +107 -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 +33 -0
- package/cjs/Channel/context.js.map +1 -0
- package/cjs/Channel.js +112 -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 +242 -0
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreview.js +217 -0
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js +138 -0
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -0
- package/cjs/ChannelList/context.js +23 -0
- package/cjs/ChannelList/context.js.map +1 -0
- package/cjs/ChannelList.js +95 -0
- package/cjs/ChannelList.js.map +1 -0
- package/cjs/ChannelListProvider-01864e22.js +936 -0
- package/cjs/ChannelListProvider-01864e22.js.map +1 -0
- package/cjs/ChannelProvider-3ef2a755.js +2127 -0
- package/cjs/ChannelProvider-3ef2a755.js.map +1 -0
- package/cjs/ChannelSettings/components/AdminPanel.js +911 -0
- package/cjs/ChannelSettings/components/AdminPanel.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 +160 -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/UserListItem.js +111 -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/InviteMembers.js +190 -0
- package/cjs/CreateChannel/components/InviteMembers.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 +17 -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-0d01dcbf.js +60 -0
- package/cjs/CreateChannelProvider-0d01dcbf.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-4c0a4a70.js +30 -0
- package/cjs/LocalizationContext-4c0a4a70.js.map +1 -0
- package/cjs/MemberList-b917d2b8.js +431 -0
- package/cjs/MemberList-b917d2b8.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 +401 -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 +84 -0
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js +62 -0
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js +288 -0
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +163 -0
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js +115 -0
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -0
- package/cjs/OpenChannel/context.js +23 -0
- package/cjs/OpenChannel/context.js.map +1 -0
- package/cjs/OpenChannel.js +86 -0
- package/cjs/OpenChannel.js.map +1 -0
- package/cjs/OpenChannelProvider-862a55ec.js +2020 -0
- package/cjs/OpenChannelProvider-862a55ec.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +155 -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 +110 -0
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js +194 -0
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -0
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +178 -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 +771 -0
- package/cjs/SendbirdProvider.js.map +1 -0
- package/cjs/UserProfileContext-0081d7b2.js +46 -0
- package/cjs/UserProfileContext-0081d7b2.js.map +1 -0
- package/cjs/_rollupPluginBabelHelpers-08d1d0ec.js +243 -0
- package/cjs/_rollupPluginBabelHelpers-08d1d0ec.js.map +1 -0
- package/cjs/actionTypes-03bdd863.js +10 -0
- package/cjs/actionTypes-03bdd863.js.map +1 -0
- package/cjs/color-37edcf95.js +42 -0
- package/cjs/color-37edcf95.js.map +1 -0
- package/cjs/compareIds-1cb14940.js +20 -0
- package/cjs/compareIds-1cb14940.js.map +1 -0
- package/cjs/const-21636adb.js +22 -0
- package/cjs/const-21636adb.js.map +1 -0
- package/cjs/const-64185108.js +14 -0
- package/cjs/const-64185108.js.map +1 -0
- package/cjs/context-8f183eb3.js +19 -0
- package/cjs/context-8f183eb3.js.map +1 -0
- package/cjs/index-1a6c1893.js +9 -0
- package/cjs/index-1a6c1893.js.map +1 -0
- package/cjs/index-23c51d89.js +67 -0
- package/cjs/index-23c51d89.js.map +1 -0
- package/cjs/index-30e8e785.js +142 -0
- package/cjs/index-30e8e785.js.map +1 -0
- package/cjs/index-4e4d7494.js +514 -0
- package/cjs/index-4e4d7494.js.map +1 -0
- package/cjs/index-630f8d1b.js +97 -0
- package/cjs/index-630f8d1b.js.map +1 -0
- package/cjs/index-6d82098c.js +130 -0
- package/cjs/index-6d82098c.js.map +1 -0
- package/cjs/index-7532e1ca.js +284 -0
- package/cjs/index-7532e1ca.js.map +1 -0
- package/cjs/index-8479199c.js +175 -0
- package/cjs/index-8479199c.js.map +1 -0
- package/cjs/index-94e8cf13.js +54 -0
- package/cjs/index-94e8cf13.js.map +1 -0
- package/cjs/index-a40d57a5.js +722 -0
- package/cjs/index-a40d57a5.js.map +1 -0
- package/cjs/index-dcd38046.js +1880 -0
- package/cjs/index-dcd38046.js.map +1 -0
- package/cjs/index.css +4463 -0
- package/cjs/index.css.map +1 -0
- package/cjs/index.js +162 -0
- package/cjs/index.js.map +1 -0
- package/cjs/openChannelUtils-46a3a403.js +92 -0
- package/cjs/openChannelUtils-46a3a403.js.map +1 -0
- package/cjs/sendBirdSelectors.js +741 -0
- package/cjs/sendBirdSelectors.js.map +1 -0
- package/cjs/stringSet-d9121aa6.js +118 -0
- package/cjs/stringSet-d9121aa6.js.map +1 -0
- package/cjs/topics-4fc933cb.js +18 -0
- package/cjs/topics-4fc933cb.js.map +1 -0
- package/cjs/tslib.es6-571bbfc9.js +40 -0
- package/cjs/tslib.es6-571bbfc9.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 +44 -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 +201 -0
- package/cjs/ui/ChannelPreview.js.map +1 -0
- package/cjs/ui/ChatHeader.js +145 -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 +431 -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 +1462 -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/MentionUserLabel.js +25 -0
- package/cjs/ui/MentionUserLabel.js.map +1 -0
- package/cjs/ui/MessageContent.js +291 -0
- package/cjs/ui/MessageContent.js.map +1 -0
- package/cjs/ui/MessageInput.js +5048 -0
- package/cjs/ui/MessageInput.js.map +1 -0
- package/cjs/ui/MessageItemMenu.js +141 -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 +130 -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 +107 -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/OpenChannelMessageContent.js +14 -0
- package/cjs/ui/OpenChannelMessageContent.js.map +1 -0
- package/cjs/ui/OpenchannelConversationHeader.js +73 -0
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -0
- package/cjs/ui/OpenchannelFileMessage.js +230 -0
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -0
- package/cjs/ui/OpenchannelOGMessage.js +345 -0
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js +305 -0
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/cjs/ui/OpenchannelUserMessage.js +264 -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 +99 -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 +62 -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 +158 -0
- package/cjs/ui/UserListItem.js.map +1 -0
- package/cjs/ui/UserProfile.js +87 -0
- package/cjs/ui/UserProfile.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +22 -0
- package/cjs/useSendbirdStateContext.js.map +1 -0
- package/cjs/utils-63225dc9.js +32 -0
- package/cjs/utils-63225dc9.js.map +1 -0
- package/cjs/utils-b88eb3e0.js +6 -0
- package/cjs/utils-b88eb3e0.js.map +1 -0
- package/cjs/utils-f734965d.js +38 -0
- package/cjs/utils-f734965d.js.map +1 -0
- package/cjs/uuid-086f0c34.js +19 -0
- package/cjs/uuid-086f0c34.js.map +1 -0
- package/cjs/withSendBird.js +35 -0
- package/cjs/withSendBird.js.map +1 -0
- package/color-a3d3742c.js +39 -0
- package/color-a3d3742c.js.map +1 -0
- package/compareIds-2bfd667a.js +18 -0
- package/compareIds-2bfd667a.js.map +1 -0
- package/const-9f83647a.js +18 -0
- package/const-9f83647a.js.map +1 -0
- package/const-a8df15de.js +8 -0
- package/const-a8df15de.js.map +1 -0
- package/context-ae164d45.js +12 -0
- package/context-ae164d45.js.map +1 -0
- package/index-03baba6a.js +682 -0
- package/index-03baba6a.js.map +1 -0
- package/index-13eb0f5e.js +48 -0
- package/index-13eb0f5e.js.map +1 -0
- package/index-29563598.js +64 -0
- package/index-29563598.js.map +1 -0
- package/index-2c56786f.js +1873 -0
- package/index-2c56786f.js.map +1 -0
- package/index-80e330a9.js +7 -0
- package/index-80e330a9.js.map +1 -0
- package/index-89f5a4ba.js +168 -0
- package/index-89f5a4ba.js.map +1 -0
- package/index-d7840fad.js +280 -0
- package/index-d7840fad.js.map +1 -0
- package/index-df459121.js +121 -0
- package/index-df459121.js.map +1 -0
- package/index-e1b93b3a.js +131 -0
- package/index-e1b93b3a.js.map +1 -0
- package/index-e7c0bc26.js +512 -0
- package/index-e7c0bc26.js.map +1 -0
- package/index-f78ebc31.js +87 -0
- package/index-f78ebc31.js.map +1 -0
- package/index.css +4463 -0
- package/index.css.map +1 -0
- package/index.d.ts +1830 -0
- package/index.js +143 -0
- package/index.js.map +1 -0
- package/openChannelUtils-ae1d6038.js +81 -0
- package/openChannelUtils-ae1d6038.js.map +1 -0
- package/package.json +7 -29
- package/sendBirdSelectors.js +713 -0
- package/sendBirdSelectors.js.map +1 -0
- package/stringSet-6c9c68ae.js +116 -0
- package/stringSet-6c9c68ae.js.map +1 -0
- package/topics-d347c996.js +10 -0
- package/topics-d347c996.js.map +1 -0
- package/tslib.es6-61821688.js +38 -0
- package/tslib.es6-61821688.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 +37 -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 +194 -0
- package/ui/ChannelPreview.js.map +1 -0
- package/ui/ChatHeader.js +138 -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 +417 -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 +1432 -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/MentionUserLabel.js +19 -0
- package/ui/MentionUserLabel.js.map +1 -0
- package/ui/MessageContent.js +285 -0
- package/ui/MessageContent.js.map +1 -0
- package/ui/MessageInput.js +5040 -0
- package/ui/MessageInput.js.map +1 -0
- package/ui/MessageItemMenu.js +135 -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 +124 -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 +101 -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/OpenChannelMessageContent.js +8 -0
- package/ui/OpenChannelMessageContent.js.map +1 -0
- package/ui/OpenchannelConversationHeader.js +67 -0
- package/ui/OpenchannelConversationHeader.js.map +1 -0
- package/ui/OpenchannelFileMessage.js +224 -0
- package/ui/OpenchannelFileMessage.js.map +1 -0
- package/ui/OpenchannelOGMessage.js +339 -0
- package/ui/OpenchannelOGMessage.js.map +1 -0
- package/ui/OpenchannelThumbnailMessage.js +299 -0
- package/ui/OpenchannelThumbnailMessage.js.map +1 -0
- package/ui/OpenchannelUserMessage.js +258 -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 +93 -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 +56 -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 +151 -0
- package/ui/UserListItem.js.map +1 -0
- package/ui/UserProfile.js +81 -0
- package/ui/UserProfile.js.map +1 -0
- package/useSendbirdStateContext.js +20 -0
- package/useSendbirdStateContext.js.map +1 -0
- package/utils-4e85584a.js +4 -0
- package/utils-4e85584a.js.map +1 -0
- package/utils-5e25aca3.js +34 -0
- package/utils-5e25aca3.js.map +1 -0
- package/utils-aed86fb8.js +30 -0
- package/utils-aed86fb8.js.map +1 -0
- package/uuid-6e6389e2.js +17 -0
- package/uuid-6e6389e2.js.map +1 -0
- package/withSendBird.js +26 -0
- package/withSendBird.js.map +1 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import React__default, { useRef, useContext, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e1b93b3a.js';
|
|
3
|
+
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
4
|
+
import Avatar from '../../ui/Avatar.js';
|
|
5
|
+
import { a as LocalizationContext } from '../../LocalizationContext-0e05ddca.js';
|
|
6
|
+
import { u as useChannel } from '../../ChannelProvider-923b58df.js';
|
|
7
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
8
|
+
import { U as USER_MENTION_TEMP_CHAR, M as MAX_USER_MENTION_COUNT, a as MAX_USER_SUGGESTION_COUNT } from '../../const-a8df15de.js';
|
|
9
|
+
import { M as MessageInputKeys } from '../../const-9f83647a.js';
|
|
10
|
+
import '../../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
11
|
+
import 'prop-types';
|
|
12
|
+
import '../../stringSet-6c9c68ae.js';
|
|
13
|
+
import '../../tslib.es6-61821688.js';
|
|
14
|
+
import '../../ui/ImageRenderer.js';
|
|
15
|
+
import '../../uuid-6e6389e2.js';
|
|
16
|
+
import '../../index-e7c0bc26.js';
|
|
17
|
+
import '../../UserProfileContext-90704c73.js';
|
|
18
|
+
import '../../index-2c56786f.js';
|
|
19
|
+
import '../../topics-d347c996.js';
|
|
20
|
+
import '../../index-03baba6a.js';
|
|
21
|
+
import '../../compareIds-2bfd667a.js';
|
|
22
|
+
import '../../ui/ContextMenu.js';
|
|
23
|
+
import 'react-dom';
|
|
24
|
+
import '../../ui/SortByRow.js';
|
|
25
|
+
import '../../ui/ReactionButton.js';
|
|
26
|
+
import '../../withSendBird.js';
|
|
27
|
+
|
|
28
|
+
function SuggestedUserMentionItem(props) {
|
|
29
|
+
var member = props.member,
|
|
30
|
+
_a = props.isFocused,
|
|
31
|
+
isFocused = _a === void 0 ? false : _a,
|
|
32
|
+
onClick = props.onClick,
|
|
33
|
+
onMouseOver = props.onMouseOver,
|
|
34
|
+
renderUserMentionItem = props.renderUserMentionItem;
|
|
35
|
+
var scrollRef = useRef(null);
|
|
36
|
+
var _b = useContext(LocalizationContext).stringSet,
|
|
37
|
+
stringSet = _b === void 0 ? {} : _b;
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
var _a;
|
|
40
|
+
|
|
41
|
+
if (isFocused) {
|
|
42
|
+
(_a = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({
|
|
43
|
+
block: 'center',
|
|
44
|
+
inline: 'center'
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}, [isFocused]);
|
|
48
|
+
var customMentionItem = useMemo(function () {
|
|
49
|
+
if (renderUserMentionItem) {
|
|
50
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
51
|
+
className: "sendbird-mention-suggest-list__user-item",
|
|
52
|
+
onClick: onClick,
|
|
53
|
+
onMouseOver: onMouseOver,
|
|
54
|
+
key: member.nickname,
|
|
55
|
+
ref: scrollRef
|
|
56
|
+
}, renderUserMentionItem({
|
|
57
|
+
user: member
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
}, [renderUserMentionItem]);
|
|
61
|
+
|
|
62
|
+
if (customMentionItem) {
|
|
63
|
+
return customMentionItem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
67
|
+
className: "sendbird-mention-suggest-list__user-item " + (isFocused ? 'focused' : ''),
|
|
68
|
+
onClick: onClick,
|
|
69
|
+
onMouseOver: onMouseOver,
|
|
70
|
+
key: member.nickname,
|
|
71
|
+
ref: scrollRef
|
|
72
|
+
}, /*#__PURE__*/React__default.createElement(Avatar, {
|
|
73
|
+
className: "sendbird-mention-suggest-list__user-item__avatar",
|
|
74
|
+
src: member === null || member === void 0 ? void 0 : member.profileUrl,
|
|
75
|
+
alt: "user-profile",
|
|
76
|
+
width: "24px",
|
|
77
|
+
height: "24px"
|
|
78
|
+
}), /*#__PURE__*/React__default.createElement(Label, {
|
|
79
|
+
className: "sendbird-mention-suggest-list__user-item__nickname",
|
|
80
|
+
type: LabelTypography.SUBTITLE_2,
|
|
81
|
+
color: (member === null || member === void 0 ? void 0 : member.nickname) ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3
|
|
82
|
+
}, (member === null || member === void 0 ? void 0 : member.nickname) || (stringSet === null || stringSet === void 0 ? void 0 : stringSet.MENTION_NAME__NO_NAME)), /*#__PURE__*/React__default.createElement(Label, {
|
|
83
|
+
className: "sendbird-mention-suggest-list__user-item__user-id",
|
|
84
|
+
type: LabelTypography.SUBTITLE_2,
|
|
85
|
+
color: LabelColors.ONBACKGROUND_2
|
|
86
|
+
}, member === null || member === void 0 ? void 0 : member.userId));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var DEBOUNCING_TIME = 300;
|
|
90
|
+
|
|
91
|
+
function SuggestedMentionList(props) {
|
|
92
|
+
var _a, _b, _c;
|
|
93
|
+
|
|
94
|
+
var _d = props.targetNickname,
|
|
95
|
+
targetNickname = _d === void 0 ? '' : _d,
|
|
96
|
+
// memberListQuery,
|
|
97
|
+
onUserItemClick = props.onUserItemClick,
|
|
98
|
+
onFocusItemChange = props.onFocusItemChange,
|
|
99
|
+
onFetchUsers = props.onFetchUsers,
|
|
100
|
+
renderUserMentionItem = props.renderUserMentionItem,
|
|
101
|
+
inputEvent = props.inputEvent,
|
|
102
|
+
_e = props.ableAddMention,
|
|
103
|
+
ableAddMention = _e === void 0 ? true : _e,
|
|
104
|
+
_f = props.maxMentionCount,
|
|
105
|
+
maxMentionCount = _f === void 0 ? MAX_USER_MENTION_COUNT : _f,
|
|
106
|
+
_g = props.maxSuggestionCount,
|
|
107
|
+
maxSuggestionCount = _g === void 0 ? MAX_USER_SUGGESTION_COUNT : _g;
|
|
108
|
+
|
|
109
|
+
var _h = useSendbirdStateContext(),
|
|
110
|
+
config = _h.config,
|
|
111
|
+
stores = _h.stores;
|
|
112
|
+
|
|
113
|
+
var logger = config.logger;
|
|
114
|
+
var currentUserId = ((_c = (_b = (_a = stores === null || stores === void 0 ? void 0 : stores.sdkStore) === null || _a === void 0 ? void 0 : _a.sdk) === null || _b === void 0 ? void 0 : _b.currentUser) === null || _c === void 0 ? void 0 : _c.userId) || '';
|
|
115
|
+
var currentGroupChannel = useChannel().currentGroupChannel;
|
|
116
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
117
|
+
|
|
118
|
+
var _j = useState(null),
|
|
119
|
+
timer = _j[0],
|
|
120
|
+
setTimer = _j[1];
|
|
121
|
+
|
|
122
|
+
var _k = useState(''),
|
|
123
|
+
searchString = _k[0],
|
|
124
|
+
setSearchString = _k[1];
|
|
125
|
+
|
|
126
|
+
var _l = useState(''),
|
|
127
|
+
lastSearchString = _l[0],
|
|
128
|
+
setLastSearchString = _l[1];
|
|
129
|
+
|
|
130
|
+
var _m = useState(null),
|
|
131
|
+
currentUser = _m[0],
|
|
132
|
+
setCurrentUser = _m[1];
|
|
133
|
+
|
|
134
|
+
var _o = useState(null),
|
|
135
|
+
mouseOverUser = _o[0],
|
|
136
|
+
setMouseOverUser = _o[1];
|
|
137
|
+
|
|
138
|
+
var _p = useState([]),
|
|
139
|
+
currentMemberList = _p[0],
|
|
140
|
+
setCurrentMemberList = _p[1];
|
|
141
|
+
|
|
142
|
+
useEffect(function () {
|
|
143
|
+
clearTimeout(timer);
|
|
144
|
+
setTimer(setTimeout(function () {
|
|
145
|
+
setSearchString(targetNickname);
|
|
146
|
+
}, DEBOUNCING_TIME));
|
|
147
|
+
}, [targetNickname]);
|
|
148
|
+
useEffect(function () {
|
|
149
|
+
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === MessageInputKeys.Enter) {
|
|
150
|
+
if (currentMemberList.length > 0) {
|
|
151
|
+
onUserItemClick(currentUser);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === MessageInputKeys.ArrowUp) {
|
|
156
|
+
var currentUserIndex = currentMemberList.findIndex(function (member) {
|
|
157
|
+
return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
if (0 < currentUserIndex) {
|
|
161
|
+
setCurrentUser(currentMemberList[currentUserIndex - 1]);
|
|
162
|
+
onFocusItemChange(currentMemberList[currentUserIndex - 1]);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if ((inputEvent === null || inputEvent === void 0 ? void 0 : inputEvent.key) === MessageInputKeys.ArrowDown) {
|
|
167
|
+
var currentUserIndex = currentMemberList.findIndex(function (member) {
|
|
168
|
+
return (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
if (currentUserIndex < currentMemberList.length - 1) {
|
|
172
|
+
setCurrentUser(currentMemberList[currentUserIndex + 1]);
|
|
173
|
+
onFocusItemChange(currentMemberList[currentUserIndex + 1]);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}, [inputEvent]);
|
|
177
|
+
/* Fetch member list */
|
|
178
|
+
|
|
179
|
+
useEffect(function () {
|
|
180
|
+
if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {
|
|
181
|
+
logger.warning('SuggestedMentionList: Creating member list query failed');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {
|
|
186
|
+
// Don't need to request query again
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
var query = currentGroupChannel.createMemberListQuery();
|
|
191
|
+
query.limit = maxSuggestionCount;
|
|
192
|
+
query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length); // Add member list query for customization
|
|
193
|
+
|
|
194
|
+
query.next(function (memberList, error) {
|
|
195
|
+
if (error) {
|
|
196
|
+
logger.error('SuggestedMentionList: Fetching member list failed', error);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (memberList.length < 1) {
|
|
200
|
+
logger.info('SuggestedMentionList: Fetched member list is empty');
|
|
201
|
+
} else {
|
|
202
|
+
logger.info('SuggestedMentionList: Fetching member list succeeded', {
|
|
203
|
+
memberListQuery: query,
|
|
204
|
+
memberList: memberList
|
|
205
|
+
});
|
|
206
|
+
setCurrentUser(memberList[0]);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
setLastSearchString(searchString);
|
|
210
|
+
onFetchUsers(memberList);
|
|
211
|
+
setCurrentMemberList(memberList.filter(function (member) {
|
|
212
|
+
return currentUserId !== (member === null || member === void 0 ? void 0 : member.userId);
|
|
213
|
+
}));
|
|
214
|
+
});
|
|
215
|
+
}, [currentGroupChannel === null || currentGroupChannel === void 0 ? void 0 : currentGroupChannel.url, searchString]);
|
|
216
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
217
|
+
className: "sendbird-mention-suggest-list",
|
|
218
|
+
onMouseLeave: function onMouseLeave() {
|
|
219
|
+
if (mouseOverUser) {
|
|
220
|
+
setCurrentUser(mouseOverUser);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}, ableAddMention && (currentMemberList === null || currentMemberList === void 0 ? void 0 : currentMemberList.map(function (member) {
|
|
224
|
+
return /*#__PURE__*/React__default.createElement(SuggestedUserMentionItem, {
|
|
225
|
+
key: member === null || member === void 0 ? void 0 : member.nickname,
|
|
226
|
+
member: member,
|
|
227
|
+
isFocused: (member === null || member === void 0 ? void 0 : member.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId),
|
|
228
|
+
onClick: function onClick() {
|
|
229
|
+
onUserItemClick(member);
|
|
230
|
+
},
|
|
231
|
+
onMouseOver: function onMouseOver() {
|
|
232
|
+
setMouseOverUser(member);
|
|
233
|
+
},
|
|
234
|
+
renderUserMentionItem: renderUserMentionItem
|
|
235
|
+
});
|
|
236
|
+
})), !ableAddMention && /*#__PURE__*/React__default.createElement("div", {
|
|
237
|
+
className: "sendbird-mention-suggest-list__notice-item"
|
|
238
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
239
|
+
className: "sendbird-mention-suggest-list__notice-item__icon",
|
|
240
|
+
type: IconTypes.INFO,
|
|
241
|
+
fillColor: IconColors.ON_BACKGROUND_2
|
|
242
|
+
}), /*#__PURE__*/React__default.createElement(Label, {
|
|
243
|
+
className: "sendbird-mention-suggest-list__notice-item__text",
|
|
244
|
+
type: LabelTypography.SUBTITLE_2,
|
|
245
|
+
color: LabelColors.ONBACKGROUND_2
|
|
246
|
+
}, stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount))));
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export { SuggestedMentionList as default };
|
|
250
|
+
//# sourceMappingURL=SuggestedMentionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SuggestedMentionList.js","sources":["../../../src/smart-components/Channel/components/SuggestedMentionList/SuggestedUserMentionItem.tsx","../../../src/smart-components/Channel/components/SuggestedMentionList/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react';\n\nimport Avatar from '../../../../ui/Avatar';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport SendBird from 'sendbird';\n\ninterface SuggestedUserMentionItemProps {\n member: SendBird.User;\n isFocused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n}\n\nfunction SuggestedUserMentionItem(props: SuggestedUserMentionItemProps): JSX.Element {\n const {\n member,\n isFocused = false,\n onClick,\n onMouseOver,\n renderUserMentionItem,\n } = props;\n const scrollRef = useRef(null);\n const { stringSet = {} } = useContext(LocalizationContext);\n useEffect(() => {\n if (isFocused) {\n scrollRef?.current?.scrollIntoView({ block: 'center', inline: 'center' });\n }\n }, [isFocused]);\n const customMentionItem = useMemo(() => {\n if (renderUserMentionItem) {\n return (\n <div\n className=\"sendbird-mention-suggest-list__user-item\"\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n {renderUserMentionItem({ user: member })}\n </div>\n );\n }\n }, [renderUserMentionItem]);\n if (customMentionItem) {\n return customMentionItem;\n }\n return (\n <div\n className={`sendbird-mention-suggest-list__user-item ${isFocused ? 'focused' : ''}`}\n onClick={onClick}\n onMouseOver={onMouseOver}\n key={member.nickname}\n ref={scrollRef}\n >\n <Avatar\n className=\"sendbird-mention-suggest-list__user-item__avatar\"\n src={member?.profileUrl}\n alt=\"user-profile\"\n width=\"24px\"\n height=\"24px\"\n />\n <Label\n className=\"sendbird-mention-suggest-list__user-item__nickname\"\n type={LabelTypography.SUBTITLE_2}\n color={member?.nickname ? LabelColors.ONBACKGROUND_1 : LabelColors.ONBACKGROUND_3}\n >\n {member?.nickname || stringSet?.MENTION_NAME__NO_NAME}\n </Label>\n <Label\n className=\"sendbird-mention-suggest-list__user-item__user-id\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {member?.userId}\n </Label>\n </div>\n );\n}\n\nexport default SuggestedUserMentionItem;\n","import React, { useState, useEffect, useContext } from 'react';\nimport SendBird from 'sendbird';\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport SuggestedUserMentionItem from './SuggestedUserMentionItem';\nimport { useChannel } from '../../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../../hooks/useSendbirdStateContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { MAX_USER_MENTION_COUNT, MAX_USER_SUGGESTION_COUNT, USER_MENTION_TEMP_CHAR } from '../../context/const';\nimport { MessageInputKeys } from '../../../../ui/MessageInput/const';\n\nexport interface SuggestedMentionListProps {\n targetNickname: string;\n memberListQuery?: Record<string, string>;\n onUserItemClick?: (member: SendBird.User) => void;\n onFocusItemChange?: (member: SendBird.User) => void;\n onFetchUsers?: (users: Array<SendBird.User>) => void;\n renderUserMentionItem?: (props: { user: SendBird.User }) => JSX.Element;\n ableAddMention: boolean;\n maxMentionCount?: number;\n maxSuggestionCount?: number;\n inputEvent?: React.KeyboardEvent<HTMLDivElement>;\n}\n\nconst DEBOUNCING_TIME = 300;\n\nfunction SuggestedMentionList(props: SuggestedMentionListProps): JSX.Element {\n const {\n targetNickname = '',\n // memberListQuery,\n onUserItemClick,\n onFocusItemChange,\n onFetchUsers,\n renderUserMentionItem,\n inputEvent,\n ableAddMention = true,\n maxMentionCount = MAX_USER_MENTION_COUNT,\n maxSuggestionCount = MAX_USER_SUGGESTION_COUNT,\n } = props;\n const { config, stores } = useSendbirdStateContext();\n const { logger } = config;\n const currentUserId = stores?.sdkStore?.sdk?.currentUser?.userId || '';\n const { currentGroupChannel } = useChannel();\n const { stringSet } = useContext(LocalizationContext);\n const [timer, setTimer] = useState(null);\n const [searchString, setSearchString] = useState('');\n const [lastSearchString, setLastSearchString] = useState('');\n const [currentUser, setCurrentUser] = useState<SendBird.User>(null);\n const [mouseOverUser, setMouseOverUser] = useState<SendBird.User>(null);\n const [currentMemberList, setCurrentMemberList] = useState<Array<SendBird.Member>>([]);\n\n useEffect(() => {\n clearTimeout(timer);\n setTimer(\n setTimeout(() => {\n setSearchString(targetNickname);\n }, DEBOUNCING_TIME)\n );\n }, [targetNickname]);\n\n useEffect(() => {\n if (inputEvent?.key === MessageInputKeys.Enter) {\n if (currentMemberList.length > 0) {\n onUserItemClick(currentUser);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowUp) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (0 < currentUserIndex) {\n setCurrentUser(currentMemberList[currentUserIndex - 1]);\n onFocusItemChange(currentMemberList[currentUserIndex - 1]);\n }\n }\n if (inputEvent?.key === MessageInputKeys.ArrowDown) {\n const currentUserIndex = currentMemberList.findIndex((member) => (\n member?.userId === currentUser?.userId\n ));\n if (currentUserIndex < currentMemberList.length - 1) {\n setCurrentUser(currentMemberList[currentUserIndex + 1]);\n onFocusItemChange(currentMemberList[currentUserIndex + 1]);\n }\n }\n }, [inputEvent]);\n\n /* Fetch member list */\n useEffect(() => {\n if (!currentGroupChannel || !currentGroupChannel.createMemberListQuery || !ableAddMention) {\n logger.warning('SuggestedMentionList: Creating member list query failed');\n return;\n }\n if (lastSearchString && searchString.indexOf(lastSearchString) === 0 && currentMemberList.length === 0) {\n // Don't need to request query again\n return;\n }\n\n const query = currentGroupChannel.createMemberListQuery();\n query.limit = maxSuggestionCount;\n query.nicknameStartsWithFilter = searchString.slice(USER_MENTION_TEMP_CHAR.length);\n // Add member list query for customization\n query.next((memberList, error) => {\n if (error) {\n logger.error('SuggestedMentionList: Fetching member list failed', error);\n }\n if (memberList.length < 1) {\n logger.info('SuggestedMentionList: Fetched member list is empty');\n } else {\n logger.info('SuggestedMentionList: Fetching member list succeeded', { memberListQuery: query, memberList });\n setCurrentUser(memberList[0]);\n }\n setLastSearchString(searchString);\n onFetchUsers(memberList);\n setCurrentMemberList(memberList.filter((member) => currentUserId !== member?.userId));\n });\n }, [currentGroupChannel?.url, searchString]);\n\n return (\n <div\n className=\"sendbird-mention-suggest-list\"\n onMouseLeave={() => {\n if (mouseOverUser) {\n setCurrentUser(mouseOverUser);\n }\n }}\n >\n {\n ableAddMention && currentMemberList?.map((member) => (\n <SuggestedUserMentionItem\n key={member?.nickname}\n member={member}\n isFocused={member?.userId === currentUser?.userId}\n onClick={() => {\n onUserItemClick(member);\n }}\n onMouseOver={() => {\n setMouseOverUser(member);\n }}\n renderUserMentionItem={renderUserMentionItem}\n />\n ))\n }\n {\n !ableAddMention && (\n <div className=\"sendbird-mention-suggest-list__notice-item\">\n <Icon\n className=\"sendbird-mention-suggest-list__notice-item__icon\"\n type={IconTypes.INFO}\n fillColor={IconColors.ON_BACKGROUND_2}\n />\n <Label\n className=\"sendbird-mention-suggest-list__notice-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.MENTION_COUNT__OVER_LIMIT.replace('%d', maxMentionCount)}\n </Label>\n </div>\n )\n }\n </div>\n );\n}\n\nexport default SuggestedMentionList;\n"],"names":["SuggestedUserMentionItem","props","member","_a","isFocused","onClick","onMouseOver","renderUserMentionItem","scrollRef","useRef","_b","useContext","LocalizationContext","stringSet","useEffect","current","scrollIntoView","block","inline","customMentionItem","useMemo","React","nickname","user","profileUrl","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","ONBACKGROUND_3","MENTION_NAME__NO_NAME","ONBACKGROUND_2","userId","DEBOUNCING_TIME","SuggestedMentionList","_d","targetNickname","onUserItemClick","onFocusItemChange","onFetchUsers","inputEvent","_e","ableAddMention","_f","maxMentionCount","MAX_USER_MENTION_COUNT","_g","maxSuggestionCount","MAX_USER_SUGGESTION_COUNT","_h","useSendbirdStateContext","config","stores","logger","currentUserId","sdkStore","sdk","currentUser","currentGroupChannel","useChannel","_j","useState","timer","setTimer","_k","searchString","setSearchString","_l","lastSearchString","setLastSearchString","_m","setCurrentUser","_o","mouseOverUser","setMouseOverUser","_p","currentMemberList","setCurrentMemberList","clearTimeout","setTimeout","key","MessageInputKeys","Enter","length","ArrowUp","currentUserIndex","findIndex","ArrowDown","createMemberListQuery","warning","indexOf","query","limit","nicknameStartsWithFilter","slice","USER_MENTION_TEMP_CHAR","next","memberList","error","info","memberListQuery","filter","url","map","IconTypes","INFO","IconColors","ON_BACKGROUND_2","MENTION_COUNT__OVER_LIMIT","replace"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAASA,wBAAT,CAAkCC,KAAlC;AAEI,MAAAC,MAAM,GAKJD,KAAK,OALP;AAAA,MACAE,KAIEF,KAAK,UALP;AAAA,MACAG,SAAS,mBAAG,UADZ;AAAA,MAEAC,OAAO,GAGLJ,KAAK,QALP;AAAA,MAGAK,WAAW,GAETL,KAAK,YALP;AAAA,MAIAM,qBAAqB,GACnBN,KAAK,sBALP;AAMF,MAAMO,SAAS,GAAGC,MAAM,CAAC,IAAD,CAAxB;AACQ,MAAAC,KAAmBC,UAAU,CAACC,mBAAD,CAAV,UAAnB;AAAA,MAAAC,SAAS,mBAAG,OAAZ;AACRC,EAAAA,SAAS,CAAC;;;AACR,QAAIV,SAAJ,EAAe;AACb,YAAAI,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEO,OAAX,UAAA,iBAAA,SAAA,MAAoBC,eAAe;AAAEC,QAAAA,KAAK,EAAE,QAAT;AAAmBC,QAAAA,MAAM,EAAE;AAA3B,QAAnC;AACD;AACF,GAJQ,EAIN,CAACd,SAAD,CAJM,CAAT;AAKA,MAAMe,iBAAiB,GAAGC,OAAO,CAAC;AAChC,QAAIb,qBAAJ,EAA2B;AACzB,0BACEc;AACE,QAAA,SAAS,EAAC,0CADZ;AAEE,QAAA,OAAO,EAAEhB,OAFX;AAGE,QAAA,WAAW,EAAEC,WAHf;AAIE,QAAA,GAAG,EAAEJ,MAAM,CAACoB,QAJd;AAKE,QAAA,GAAG,EAAEd;AALP,SAOGD,qBAAqB,CAAC;AAAEgB,QAAAA,IAAI,EAAErB;AAAR,OAAD,CAPxB,CADF;AAWD;AACF,GAdgC,EAc9B,CAACK,qBAAD,CAd8B,CAAjC;;AAeA,MAAIY,iBAAJ,EAAuB;AACrB,WAAOA,iBAAP;AACD;;AACD,sBACEE;AACE,IAAA,SAAS,EAAE,+CAA4CjB,SAAS,GAAG,SAAH,GAAe,EAApE,CADb;AAEE,IAAA,OAAO,EAAEC,OAFX;AAGE,IAAA,WAAW,EAAEC,WAHf;AAIE,IAAA,GAAG,EAAEJ,MAAM,CAACoB,QAJd;AAKE,IAAA,GAAG,EAAEd;AALP,kBAOEa,6BAAC,MAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,GAAG,EAAEnB,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEsB,UAFf;AAGE,IAAA,GAAG,EAAC,cAHN;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,MAAM,EAAC;AALT,IAPF,eAcEH,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,oDADZ;AAEE,IAAA,IAAI,EAAEI,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAE,CAAAxB,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEoB,QAAR,IAAmBK,WAAW,CAACC,cAA/B,GAAgDD,WAAW,CAACE;AAHrE,KAKG,CAAA3B,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEoB,QAAR,MAAoBT,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEiB,qBAA/B,CALH,CAdF,eAqBET,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,mDADZ;AAEE,IAAA,IAAI,EAAEI,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,WAAW,CAACI;AAHrB,KAKG7B,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE8B,MALX,CArBF,CADF;AA+BD;;ACrDD,IAAMC,eAAe,GAAG,GAAxB;;AAEA,SAASC,oBAAT,CAA8BjC,KAA9B;;;AAEI,MAAAkC,KAUElC,KAAK,eAVP;AAAA,MAAAmC,cAAc,mBAAG,OAAjB;AAAA;AAEAC,EAAAA,eAAe,GAQbpC,KAAK,gBAVP;AAAA,MAGAqC,iBAAiB,GAOfrC,KAAK,kBAVP;AAAA,MAIAsC,YAAY,GAMVtC,KAAK,aAVP;AAAA,MAKAM,qBAAqB,GAKnBN,KAAK,sBAVP;AAAA,MAMAuC,UAAU,GAIRvC,KAAK,WAVP;AAAA,MAOAwC,KAGExC,KAAK,eAVP;AAAA,MAOAyC,cAAc,mBAAG,SAPjB;AAAA,MAQAC,KAEE1C,KAAK,gBAVP;AAAA,MAQA2C,eAAe,mBAAGC,2BARlB;AAAA,MASAC,KACE7C,KAAK,mBAVP;AAAA,MASA8C,kBAAkB,mBAAGC,8BATrB;;AAWI,MAAAC,KAAqBC,uBAAuB,EAA5C;AAAA,MAAEC,MAAM,YAAR;AAAA,MAAUC,MAAM,YAAhB;;AACE,MAAAC,MAAM,GAAKF,MAAM,OAAjB;AACR,MAAMG,aAAa,GAAG,CAAA,MAAA,MAAA,MAAAF,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEG,QAAR,UAAA,iBAAA,SAAA,MAAkBC,GAAlB,UAAA,iBAAA,SAAA,MAAuBC,WAAvB,UAAA,iBAAA,SAAA,MAAoCzB,MAApC,KAA8C,EAApE;AACQ,MAAA0B,mBAAmB,GAAKC,UAAU,sBAAlC;AACA,MAAA9C,SAAS,GAAKF,UAAU,CAACC,mBAAD,CAAV,UAAd;;AACF,MAAAgD,KAAoBC,QAAQ,CAAC,IAAD,CAA5B;AAAA,MAACC,KAAK,QAAN;AAAA,MAAQC,QAAQ,QAAhB;;AACA,MAAAC,KAAkCH,QAAQ,CAAC,EAAD,CAA1C;AAAA,MAACI,YAAY,QAAb;AAAA,MAAeC,eAAe,QAA9B;;AACA,MAAAC,KAA0CN,QAAQ,CAAC,EAAD,CAAlD;AAAA,MAACO,gBAAgB,QAAjB;AAAA,MAAmBC,mBAAmB,QAAtC;;AACA,MAAAC,KAAgCT,QAAQ,CAAgB,IAAhB,CAAxC;AAAA,MAACJ,WAAW,QAAZ;AAAA,MAAcc,cAAc,QAA5B;;AACA,MAAAC,KAAoCX,QAAQ,CAAgB,IAAhB,CAA5C;AAAA,MAACY,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC;;AACA,MAAAC,KAA4Cd,QAAQ,CAAyB,EAAzB,CAApD;AAAA,MAACe,iBAAiB,QAAlB;AAAA,MAAoBC,oBAAoB,QAAxC;;AAEN/D,EAAAA,SAAS,CAAC;AACRgE,IAAAA,YAAY,CAAChB,KAAD,CAAZ;AACAC,IAAAA,QAAQ,CACNgB,UAAU,CAAC;AACTb,MAAAA,eAAe,CAAC9B,cAAD,CAAf;AACD,KAFS,EAEPH,eAFO,CADJ,CAAR;AAKD,GAPQ,EAON,CAACG,cAAD,CAPM,CAAT;AASAtB,EAAAA,SAAS,CAAC;AACR,QAAI,CAAA0B,UAAU,SAAV,IAAAA,UAAU,WAAV,SAAA,GAAAA,UAAU,CAAEwC,GAAZ,MAAoBC,gBAAgB,CAACC,KAAzC,EAAgD;AAC9C,UAAIN,iBAAiB,CAACO,MAAlB,GAA2B,CAA/B,EAAkC;AAChC9C,QAAAA,eAAe,CAACoB,WAAD,CAAf;AACD;AACF;;AACD,QAAI,CAAAjB,UAAU,SAAV,IAAAA,UAAU,WAAV,SAAA,GAAAA,UAAU,CAAEwC,GAAZ,MAAoBC,gBAAgB,CAACG,OAAzC,EAAkD;AAChD,UAAMC,gBAAgB,GAAGT,iBAAiB,CAACU,SAAlB,CAA4B,UAACpF,MAAD;AAAY,eAC/D,CAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE8B,MAAR,OAAmByB,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEzB,MAAhC,CAD+D;AAEhE,OAFwB,CAAzB;;AAGA,UAAI,IAAIqD,gBAAR,EAA0B;AACxBd,QAAAA,cAAc,CAACK,iBAAiB,CAACS,gBAAgB,GAAG,CAApB,CAAlB,CAAd;AACA/C,QAAAA,iBAAiB,CAACsC,iBAAiB,CAACS,gBAAgB,GAAG,CAApB,CAAlB,CAAjB;AACD;AACF;;AACD,QAAI,CAAA7C,UAAU,SAAV,IAAAA,UAAU,WAAV,SAAA,GAAAA,UAAU,CAAEwC,GAAZ,MAAoBC,gBAAgB,CAACM,SAAzC,EAAoD;AAClD,UAAMF,gBAAgB,GAAGT,iBAAiB,CAACU,SAAlB,CAA4B,UAACpF,MAAD;AAAY,eAC/D,CAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE8B,MAAR,OAAmByB,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEzB,MAAhC,CAD+D;AAEhE,OAFwB,CAAzB;;AAGA,UAAIqD,gBAAgB,GAAGT,iBAAiB,CAACO,MAAlB,GAA2B,CAAlD,EAAqD;AACnDZ,QAAAA,cAAc,CAACK,iBAAiB,CAACS,gBAAgB,GAAG,CAApB,CAAlB,CAAd;AACA/C,QAAAA,iBAAiB,CAACsC,iBAAiB,CAACS,gBAAgB,GAAG,CAApB,CAAlB,CAAjB;AACD;AACF;AACF,GAxBQ,EAwBN,CAAC7C,UAAD,CAxBM,CAAT;AA0BA;;AACA1B,EAAAA,SAAS,CAAC;AACR,QAAI,CAAC4C,mBAAD,IAAwB,CAACA,mBAAmB,CAAC8B,qBAA7C,IAAsE,CAAC9C,cAA3E,EAA2F;AACzFW,MAAAA,MAAM,CAACoC,OAAP,CAAe,yDAAf;AACA;AACD;;AACD,QAAIrB,gBAAgB,IAAIH,YAAY,CAACyB,OAAb,CAAqBtB,gBAArB,MAA2C,CAA/D,IAAoEQ,iBAAiB,CAACO,MAAlB,KAA6B,CAArG,EAAwG;AACtG;AACA;AACD;;AAED,QAAMQ,KAAK,GAAGjC,mBAAmB,CAAC8B,qBAApB,EAAd;AACAG,IAAAA,KAAK,CAACC,KAAN,GAAc7C,kBAAd;AACA4C,IAAAA,KAAK,CAACE,wBAAN,GAAiC5B,YAAY,CAAC6B,KAAb,CAAmBC,sBAAsB,CAACZ,MAA1C,CAAjC;;AAEAQ,IAAAA,KAAK,CAACK,IAAN,CAAW,UAACC,UAAD,EAAaC,KAAb;AACT,UAAIA,KAAJ,EAAW;AACT7C,QAAAA,MAAM,CAAC6C,KAAP,CAAa,mDAAb,EAAkEA,KAAlE;AACD;;AACD,UAAID,UAAU,CAACd,MAAX,GAAoB,CAAxB,EAA2B;AACzB9B,QAAAA,MAAM,CAAC8C,IAAP,CAAY,oDAAZ;AACD,OAFD,MAEO;AACL9C,QAAAA,MAAM,CAAC8C,IAAP,CAAY,sDAAZ,EAAoE;AAAEC,UAAAA,eAAe,EAAET,KAAnB;AAA0BM,UAAAA,UAAU;AAApC,SAApE;AACA1B,QAAAA,cAAc,CAAC0B,UAAU,CAAC,CAAD,CAAX,CAAd;AACD;;AACD5B,MAAAA,mBAAmB,CAACJ,YAAD,CAAnB;AACA1B,MAAAA,YAAY,CAAC0D,UAAD,CAAZ;AACApB,MAAAA,oBAAoB,CAACoB,UAAU,CAACI,MAAX,CAAkB,UAACnG,MAAD;AAAY,eAAAoD,aAAa,MAAKpD,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE8B,MAAb,CAAb;AAAgC,OAA9D,CAAD,CAApB;AACD,KAbD;AAcD,GA5BQ,EA4BN,CAAC0B,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,SAAA,GAAAA,mBAAmB,CAAE4C,GAAtB,EAA2BrC,YAA3B,CA5BM,CAAT;AA8BA,sBACE5C;AACE,IAAA,SAAS,EAAC,+BADZ;AAEE,IAAA,YAAY,EAAE;AACZ,UAAIoD,aAAJ,EAAmB;AACjBF,QAAAA,cAAc,CAACE,aAAD,CAAd;AACD;AACF;AANH,KASI/B,cAAc,KAAIkC,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,SAAA,GAAAA,iBAAiB,CAAE2B,GAAnB,CAAuB,UAACrG,MAAD;AAAY,wBACnDmB,6BAAC,wBAAD;AACE,MAAA,GAAG,EAAEnB,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAEoB,QADf;AAEE,MAAA,MAAM,EAAEpB,MAFV;AAGE,MAAA,SAAS,EAAE,CAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,SAAA,GAAAA,MAAM,CAAE8B,MAAR,OAAmByB,WAAW,SAAX,IAAAA,WAAW,WAAX,SAAA,GAAAA,WAAW,CAAEzB,MAAhC,CAHb;AAIE,MAAA,OAAO,EAAE;AACPK,QAAAA,eAAe,CAACnC,MAAD,CAAf;AACD,OANH;AAOE,MAAA,WAAW,EAAE;AACXwE,QAAAA,gBAAgB,CAACxE,MAAD,CAAhB;AACD,OATH;AAUE,MAAA,qBAAqB,EAAEK;AAVzB,MADmD;AAapD,GAbiB,CAAJ,CATlB,EAyBI,CAACmC,cAAD,iBACErB;AAAK,IAAA,SAAS,EAAC;AAAf,kBACEA,6BAAC,IAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEmF,SAAS,CAACC,IAFlB;AAGE,IAAA,SAAS,EAAEC,UAAU,CAACC;AAHxB,IADF,eAMEtF,6BAAC,KAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAEI,eAAe,CAACC,UAFxB;AAGE,IAAA,KAAK,EAAEC,WAAW,CAACI;AAHrB,KAKGlB,SAAS,CAAC+F,yBAAV,CAAoCC,OAApC,CAA4C,IAA5C,EAAkDjE,eAAlD,CALH,CANF,CA1BN,CADF;AA6CD;;;;"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React__default, { useContext, useState, useEffect } from 'react';
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-0e05ddca.js';
|
|
3
|
+
import { u as uuidv4 } from '../../uuid-6e6389e2.js';
|
|
4
|
+
import { L as Label, a as LabelTypography, b as LabelColors } from '../../index-e1b93b3a.js';
|
|
5
|
+
import { u as useChannel } from '../../ChannelProvider-923b58df.js';
|
|
6
|
+
import useSendbirdStateContext from '../../useSendbirdStateContext.js';
|
|
7
|
+
import '../../stringSet-6c9c68ae.js';
|
|
8
|
+
import '../../index-e7c0bc26.js';
|
|
9
|
+
import '../../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
10
|
+
import 'prop-types';
|
|
11
|
+
import '../../UserProfileContext-90704c73.js';
|
|
12
|
+
import '../../index-2c56786f.js';
|
|
13
|
+
import '../../topics-d347c996.js';
|
|
14
|
+
import '../../index-03baba6a.js';
|
|
15
|
+
import '../../tslib.es6-61821688.js';
|
|
16
|
+
import '../../compareIds-2bfd667a.js';
|
|
17
|
+
import '../../const-a8df15de.js';
|
|
18
|
+
import '../../ui/ContextMenu.js';
|
|
19
|
+
import 'react-dom';
|
|
20
|
+
import '../../ui/SortByRow.js';
|
|
21
|
+
import '../../ui/ReactionButton.js';
|
|
22
|
+
import '../../ui/ImageRenderer.js';
|
|
23
|
+
import '../../ui/Icon.js';
|
|
24
|
+
import '../../withSendBird.js';
|
|
25
|
+
|
|
26
|
+
var TypingIndicatorText = function TypingIndicatorText(_a) {
|
|
27
|
+
var members = _a.members;
|
|
28
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
29
|
+
|
|
30
|
+
if (!members || members.length === 0) {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (members && members.length === 1) {
|
|
35
|
+
return members[0].nickname + " " + stringSet.TYPING_INDICATOR__IS_TYPING;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (members && members.length === 2) {
|
|
39
|
+
return members[0].nickname + " " + stringSet.TYPING_INDICATOR__AND + " " + members[1].nickname + " " + stringSet.TYPING_INDICATOR__ARE_TYPING;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var TypingIndicator = function TypingIndicator() {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
|
|
48
|
+
var channelUrl = useChannel().channelUrl;
|
|
49
|
+
var globalStore = useSendbirdStateContext();
|
|
50
|
+
var sb = (_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;
|
|
51
|
+
var logger = (_c = globalStore === null || globalStore === void 0 ? void 0 : globalStore.config) === null || _c === void 0 ? void 0 : _c.logger;
|
|
52
|
+
|
|
53
|
+
var _d = useState(uuidv4()),
|
|
54
|
+
handlerId = _d[0],
|
|
55
|
+
setHandlerId = _d[1];
|
|
56
|
+
|
|
57
|
+
var _e = useState([]),
|
|
58
|
+
typingMembers = _e[0],
|
|
59
|
+
setTypingMembers = _e[1];
|
|
60
|
+
|
|
61
|
+
useEffect(function () {
|
|
62
|
+
if (sb && sb.ChannelHandler) {
|
|
63
|
+
sb.removeChannelHandler(handlerId);
|
|
64
|
+
var newHandlerId = uuidv4();
|
|
65
|
+
var handler = new sb.ChannelHandler(); // there is a possible warning in here - setState called after unmount
|
|
66
|
+
|
|
67
|
+
handler.onTypingStatusUpdated = function (groupChannel) {
|
|
68
|
+
logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);
|
|
69
|
+
|
|
70
|
+
if (groupChannel.url === channelUrl) {
|
|
71
|
+
var members = groupChannel.getTypingMembers();
|
|
72
|
+
setTypingMembers(members);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
sb.addChannelHandler(newHandlerId, handler);
|
|
77
|
+
setHandlerId(newHandlerId);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return function () {
|
|
81
|
+
setTypingMembers([]);
|
|
82
|
+
|
|
83
|
+
if (sb && sb.removeChannelHandler) {
|
|
84
|
+
sb.removeChannelHandler(handlerId);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}, [channelUrl]);
|
|
88
|
+
return /*#__PURE__*/React__default.createElement(Label, {
|
|
89
|
+
className: "sendbird-conversation__footer__typing-indicator__text",
|
|
90
|
+
type: LabelTypography.CAPTION_2,
|
|
91
|
+
color: LabelColors.ONBACKGROUND_2
|
|
92
|
+
}, /*#__PURE__*/React__default.createElement(TypingIndicatorText, {
|
|
93
|
+
members: typingMembers
|
|
94
|
+
}));
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export { TypingIndicatorText, TypingIndicator as default };
|
|
98
|
+
//# sourceMappingURL=TypingIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypingIndicator.js","sources":["../../../src/smart-components/Channel/components/TypingIndicator.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport SendBird from 'sendbird';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport { useChannel } from '../context/ChannelProvider';\nimport useSendbirdStateContext from '../../../hooks/useSendbirdStateContext';\n\nexport interface TypingIndicatorTextProps {\n members: SendBird.Member[];\n}\n\nexport const TypingIndicatorText: React.FC<TypingIndicatorTextProps> = ({ members }: TypingIndicatorTextProps) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nconst TypingIndicator: React.FC = () => {\n const { channelUrl } = useChannel();\n const globalStore = useSendbirdStateContext();\n const sb = globalStore?.stores?.sdkStore?.sdk;\n const logger = globalStore?.config?.logger;\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState<SendBird.Member[]>([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n if (groupChannel.url === channelUrl) {\n const members = groupChannel.getTypingMembers();\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n <Label\n className=\"sendbird-conversation__footer__typing-indicator__text\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n <TypingIndicatorText members={typingMembers} />\n </Label>\n );\n}\n\nexport default TypingIndicator;\n"],"names":["TypingIndicatorText","_a","members","stringSet","useContext","LocalizationContext","length","nickname","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","channelUrl","useChannel","globalStore","useSendbirdStateContext","sb","stores","sdkStore","sdk","logger","config","_d","useState","uuidv4","handlerId","setHandlerId","_e","typingMembers","setTypingMembers","useEffect","ChannelHandler","removeChannelHandler","newHandlerId","handler","onTypingStatusUpdated","groupChannel","info","url","getTypingMembers","addChannelHandler","React","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React__default, { useContext } from 'react';
|
|
2
|
+
import { a as LocalizationContext } from '../../LocalizationContext-0e05ddca.js';
|
|
3
|
+
import { L as Label, b as LabelColors, a as LabelTypography } from '../../index-e1b93b3a.js';
|
|
4
|
+
import Icon, { IconTypes, IconColors } from '../../ui/Icon.js';
|
|
5
|
+
import '../../stringSet-6c9c68ae.js';
|
|
6
|
+
import '../../index-e7c0bc26.js';
|
|
7
|
+
import '../../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
8
|
+
import 'prop-types';
|
|
9
|
+
|
|
10
|
+
var UnreadCount = function UnreadCount(props) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
|
|
13
|
+
var count = props.count,
|
|
14
|
+
_c = props.time,
|
|
15
|
+
time = _c === void 0 ? '' : _c,
|
|
16
|
+
onClick = props.onClick;
|
|
17
|
+
var stringSet = useContext(LocalizationContext).stringSet;
|
|
18
|
+
var timeArray = ((_b = (_a = time === null || time === void 0 ? void 0 : time.toString) === null || _a === void 0 ? void 0 : _a.call(time)) === null || _b === void 0 ? void 0 : _b.split(' ')) || [];
|
|
19
|
+
timeArray === null || timeArray === void 0 ? void 0 : timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);
|
|
20
|
+
|
|
21
|
+
if (count < 1) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
26
|
+
className: "sendbird-notification",
|
|
27
|
+
onClick: onClick
|
|
28
|
+
}, /*#__PURE__*/React__default.createElement(Label, {
|
|
29
|
+
className: "sendbird-notification__text",
|
|
30
|
+
color: LabelColors.ONCONTENT_1,
|
|
31
|
+
type: LabelTypography.CAPTION_2
|
|
32
|
+
}, count + " ", stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE, " " + timeArray.join(' ')), /*#__PURE__*/React__default.createElement(Icon, {
|
|
33
|
+
width: "24px",
|
|
34
|
+
height: "24px",
|
|
35
|
+
type: IconTypes.CHEVRON_DOWN,
|
|
36
|
+
fillColor: IconColors.CONTENT
|
|
37
|
+
}));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { UnreadCount as default };
|
|
41
|
+
//# sourceMappingURL=UnreadCount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnreadCount.js","sources":["../../../src/smart-components/Channel/components/UnreadCount/index.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport './unread-count.scss';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\n\nexport interface UnreadCountProps {\n count: number;\n time: string;\n onClick(): void;\n}\n\nconst UnreadCount: React.FC<UnreadCountProps> = (props: UnreadCountProps) => {\n const {\n count,\n time = '',\n onClick,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time?.toString?.()?.split(' ') || [];\n timeArray?.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n\n if (count < 1) {\n return;\n }\n\n return (\n <div className=\"sendbird-notification\" onClick={onClick}>\n <Label className=\"sendbird-notification__text\" color={LabelColors.ONCONTENT_1} type={LabelTypography.CAPTION_2}>\n {`${count} `}\n {stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE}\n {` ${timeArray.join(' ')}`}\n </Label>\n <Icon\n width=\"24px\"\n height=\"24px\"\n type={IconTypes.CHEVRON_DOWN}\n fillColor={IconColors.CONTENT}\n />\n </div>\n );\n}\n\nexport default UnreadCount;\n"],"names":["UnreadCount","props","count","_c","time","onClick","stringSet","useContext","LocalizationContext","timeArray","toString","split","splice","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","React","LabelColors","ONCONTENT_1","LabelTypography","CAPTION_2","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","join","IconTypes","CHEVRON_DOWN","IconColors","CONTENT"],"mappings":";;;;;;;;;IAaMA,WAAW,GAA+B,SAA1CA,WAA0C,CAACC,KAAD;;;AAE5C,MAAAC,KAAK,GAGHD,KAAK,MAHP;AAAA,MACAE,KAEEF,KAAK,KAHP;AAAA,MACAG,IAAI,mBAAG,OADP;AAAA,MAEAC,OAAO,GACLJ,KAAK,QAHP;AAKM,MAAAK,SAAS,GAAKC,UAAU,CAACC,mBAAD,CAAV,UAAd;AACR,MAAMC,SAAS,GAAG,CAAA,MAAA,MAAAL,IAAI,SAAJ,IAAAA,IAAI,WAAJ,SAAA,GAAAA,IAAI,CAAEM,QAAN,UAAA,iBAAA,SAAA,WAAAN,KAAA,UAAA,iBAAA,SAAA,MAAoBO,MAAM,IAA1B,KAAkC,EAApD;AACAF,EAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,SAAA,GAAAA,SAAS,CAAEG,MAAX,CAAkB,CAAC,CAAnB,EAAsB,CAAtB,EAAyBN,SAAS,CAACO,uCAAnC,CAAA;;AAEA,MAAIX,KAAK,GAAG,CAAZ,EAAe;AACb;AACD;;AAED,sBACEY;AAAK,IAAA,SAAS,EAAC,uBAAf;AAAuC,IAAA,OAAO,EAAET;AAAhD,kBACES,6BAAC,KAAD;AAAO,IAAA,SAAS,EAAC,6BAAjB;AAA+C,IAAA,KAAK,EAAEC,WAAW,CAACC,WAAlE;AAA+E,IAAA,IAAI,EAAEC,eAAe,CAACC;AAArG,KACMhB,KAAK,MADX,EAEGI,SAAS,CAACa,gDAFb,EAGG,MAAIV,SAAS,CAACW,IAAV,CAAe,GAAf,CAHP,CADF,eAMEN,6BAAC,IAAD;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,IAAI,EAAEO,SAAS,CAACC,YAHlB;AAIE,IAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,IANF,CADF;AAeD;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import '../UserProfileContext-90704c73.js';
|
|
3
|
+
import '../useSendbirdStateContext.js';
|
|
4
|
+
export { C as ChannelProvider, u as useChannel } from '../ChannelProvider-923b58df.js';
|
|
5
|
+
import 'prop-types';
|
|
6
|
+
import '../withSendBird.js';
|
|
7
|
+
import '../_rollupPluginBabelHelpers-c7eeba03.js';
|
|
8
|
+
import '../index-2c56786f.js';
|
|
9
|
+
import '../index-e7c0bc26.js';
|
|
10
|
+
import '../topics-d347c996.js';
|
|
11
|
+
import '../index-03baba6a.js';
|
|
12
|
+
import '../tslib.es6-61821688.js';
|
|
13
|
+
import '../compareIds-2bfd667a.js';
|
|
14
|
+
import '../const-a8df15de.js';
|
|
15
|
+
import '../uuid-6e6389e2.js';
|
|
16
|
+
import '../ui/ContextMenu.js';
|
|
17
|
+
import '../index-e1b93b3a.js';
|
|
18
|
+
import '../stringSet-6c9c68ae.js';
|
|
19
|
+
import 'react-dom';
|
|
20
|
+
import '../ui/SortByRow.js';
|
|
21
|
+
import '../ui/ReactionButton.js';
|
|
22
|
+
import '../ui/ImageRenderer.js';
|
|
23
|
+
import '../ui/Icon.js';
|
|
24
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
package/Channel.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { C as ChannelProvider } from './ChannelProvider-923b58df.js';
|
|
3
|
+
import ChannelUI from './Channel/components/ChannelUI.js';
|
|
4
|
+
import './UserProfileContext-90704c73.js';
|
|
5
|
+
import 'prop-types';
|
|
6
|
+
import './useSendbirdStateContext.js';
|
|
7
|
+
import './withSendBird.js';
|
|
8
|
+
import './_rollupPluginBabelHelpers-c7eeba03.js';
|
|
9
|
+
import './index-2c56786f.js';
|
|
10
|
+
import './index-e7c0bc26.js';
|
|
11
|
+
import './topics-d347c996.js';
|
|
12
|
+
import './index-03baba6a.js';
|
|
13
|
+
import './tslib.es6-61821688.js';
|
|
14
|
+
import './compareIds-2bfd667a.js';
|
|
15
|
+
import './const-a8df15de.js';
|
|
16
|
+
import './uuid-6e6389e2.js';
|
|
17
|
+
import './ui/ContextMenu.js';
|
|
18
|
+
import './index-e1b93b3a.js';
|
|
19
|
+
import './stringSet-6c9c68ae.js';
|
|
20
|
+
import 'react-dom';
|
|
21
|
+
import './ui/SortByRow.js';
|
|
22
|
+
import './ui/ReactionButton.js';
|
|
23
|
+
import './ui/ImageRenderer.js';
|
|
24
|
+
import './ui/Icon.js';
|
|
25
|
+
import './index-df459121.js';
|
|
26
|
+
import './ui/Loader.js';
|
|
27
|
+
import './LocalizationContext-0e05ddca.js';
|
|
28
|
+
import './ui/ConnectionStatus.js';
|
|
29
|
+
import './Channel/components/ChannelHeader.js';
|
|
30
|
+
import './ui/IconButton.js';
|
|
31
|
+
import './ui/ChannelAvatar.js';
|
|
32
|
+
import './ui/Avatar.js';
|
|
33
|
+
import './utils-5e25aca3.js';
|
|
34
|
+
import './Channel/components/MessageList.js';
|
|
35
|
+
import './index-29563598.js';
|
|
36
|
+
import './Channel/components/Message.js';
|
|
37
|
+
import './Channel/components/SuggestedMentionList.js';
|
|
38
|
+
import './const-9f83647a.js';
|
|
39
|
+
import './ui/DateSeparator.js';
|
|
40
|
+
import './color-a3d3742c.js';
|
|
41
|
+
import './ui/MessageInput.js';
|
|
42
|
+
import 'stream';
|
|
43
|
+
import './index-f78ebc31.js';
|
|
44
|
+
import './ui/MentionUserLabel.js';
|
|
45
|
+
import './ui/MessageContent.js';
|
|
46
|
+
import './ui/UserProfile.js';
|
|
47
|
+
import './sendBirdSelectors.js';
|
|
48
|
+
import './ui/MessageStatus.js';
|
|
49
|
+
import './ui/MessageItemMenu.js';
|
|
50
|
+
import './ui/MessageItemReactionMenu.js';
|
|
51
|
+
import './ui/EmojiReactions.js';
|
|
52
|
+
import './ui/Tooltip.js';
|
|
53
|
+
import './ui/TooltipWrapper.js';
|
|
54
|
+
import './ui/ReactionBadge.js';
|
|
55
|
+
import './ui/AdminMessage.js';
|
|
56
|
+
import './ui/TextMessageItemBody.js';
|
|
57
|
+
import './index-13eb0f5e.js';
|
|
58
|
+
import './ui/LinkLabel.js';
|
|
59
|
+
import './ui/FileMessageItemBody.js';
|
|
60
|
+
import './ui/TextButton.js';
|
|
61
|
+
import './ui/ThumbnailMessageItemBody.js';
|
|
62
|
+
import './ui/OGMessageItemBody.js';
|
|
63
|
+
import './ui/UnknownMessageItemBody.js';
|
|
64
|
+
import './ui/QuoteMessage.js';
|
|
65
|
+
import './Channel/components/FileViewer.js';
|
|
66
|
+
import './index-80e330a9.js';
|
|
67
|
+
import './Channel/components/RemoveMessageModal.js';
|
|
68
|
+
import './ui/Modal.js';
|
|
69
|
+
import './utils-4e85584a.js';
|
|
70
|
+
import './Channel/components/TypingIndicator.js';
|
|
71
|
+
import './Channel/components/FrozenNotification.js';
|
|
72
|
+
import './Channel/components/UnreadCount.js';
|
|
73
|
+
import './Channel/components/MessageInput.js';
|
|
74
|
+
import './ui/QuoteMessageInput.js';
|
|
75
|
+
|
|
76
|
+
var Channel = function Channel(props) {
|
|
77
|
+
return /*#__PURE__*/React__default.createElement(ChannelProvider, {
|
|
78
|
+
channelUrl: props === null || props === void 0 ? void 0 : props.channelUrl,
|
|
79
|
+
useMessageGrouping: props === null || props === void 0 ? void 0 : props.useMessageGrouping,
|
|
80
|
+
useReaction: props === null || props === void 0 ? void 0 : props.useReaction,
|
|
81
|
+
showSearchIcon: props === null || props === void 0 ? void 0 : props.showSearchIcon,
|
|
82
|
+
highlightedMessage: props === null || props === void 0 ? void 0 : props.highlightedMessage,
|
|
83
|
+
startingPoint: props === null || props === void 0 ? void 0 : props.startingPoint,
|
|
84
|
+
onBeforeSendUserMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendUserMessage,
|
|
85
|
+
onBeforeSendFileMessage: props === null || props === void 0 ? void 0 : props.onBeforeSendFileMessage,
|
|
86
|
+
onBeforeUpdateUserMessage: props === null || props === void 0 ? void 0 : props.onBeforeUpdateUserMessage,
|
|
87
|
+
onChatHeaderActionClick: props === null || props === void 0 ? void 0 : props.onChatHeaderActionClick,
|
|
88
|
+
onSearchClick: props === null || props === void 0 ? void 0 : props.onSearchClick,
|
|
89
|
+
replyType: props === null || props === void 0 ? void 0 : props.replyType,
|
|
90
|
+
queries: props === null || props === void 0 ? void 0 : props.queries,
|
|
91
|
+
renderUserProfile: props === null || props === void 0 ? void 0 : props.renderUserProfile,
|
|
92
|
+
disableUserProfile: props === null || props === void 0 ? void 0 : props.disableUserProfile
|
|
93
|
+
}, /*#__PURE__*/React__default.createElement(ChannelUI, {
|
|
94
|
+
renderPlaceholderLoader: props === null || props === void 0 ? void 0 : props.renderPlaceholderLoader,
|
|
95
|
+
renderPlaceholderInvalid: props === null || props === void 0 ? void 0 : props.renderPlaceholderInvalid,
|
|
96
|
+
renderPlaceholderEmpty: props === null || props === void 0 ? void 0 : props.renderPlaceholderEmpty,
|
|
97
|
+
renderChannelHeader: props === null || props === void 0 ? void 0 : props.renderChannelHeader,
|
|
98
|
+
renderMessage: props === null || props === void 0 ? void 0 : props.renderMessage,
|
|
99
|
+
renderMessageInput: props === null || props === void 0 ? void 0 : props.renderMessageInput,
|
|
100
|
+
renderTypingIndicator: props === null || props === void 0 ? void 0 : props.renderTypingIndicator,
|
|
101
|
+
renderCustomSeparator: props === null || props === void 0 ? void 0 : props.renderCustomSeparator
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export { Channel as default };
|
|
106
|
+
//# sourceMappingURL=Channel.js.map
|
package/Channel.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Channel.js","sources":["../src/smart-components/Channel/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n ChannelProvider,\n ChannelContextProps,\n} from './context/ChannelProvider';\n\nimport ChannelUI, { ChannelUIProps } from './components/ChannelUI';\nexport interface ChannelProps extends ChannelContextProps, ChannelUIProps {\n}\n\nconst Channel: React.FC<ChannelProps> = (props: ChannelProps) => {\n return (\n <ChannelProvider\n channelUrl={props?.channelUrl}\n useMessageGrouping={props?.useMessageGrouping}\n useReaction={props?.useReaction}\n showSearchIcon={props?.showSearchIcon}\n highlightedMessage={props?.highlightedMessage}\n startingPoint={props?.startingPoint}\n onBeforeSendUserMessage={props?.onBeforeSendUserMessage}\n onBeforeSendFileMessage={props?.onBeforeSendFileMessage}\n onBeforeUpdateUserMessage={props?.onBeforeUpdateUserMessage}\n onChatHeaderActionClick={props?.onChatHeaderActionClick}\n onSearchClick={props?.onSearchClick}\n replyType={props?.replyType}\n queries={props?.queries}\n renderUserProfile={props?.renderUserProfile}\n disableUserProfile={props?.disableUserProfile}\n >\n <ChannelUI\n renderPlaceholderLoader={props?.renderPlaceholderLoader}\n renderPlaceholderInvalid={props?.renderPlaceholderInvalid}\n renderPlaceholderEmpty={props?.renderPlaceholderEmpty}\n renderChannelHeader={props?.renderChannelHeader}\n renderMessage={props?.renderMessage}\n renderMessageInput={props?.renderMessageInput}\n renderTypingIndicator={props?.renderTypingIndicator}\n renderCustomSeparator={props?.renderCustomSeparator}\n />\n </ChannelProvider>\n );\n};\n\nexport default Channel;\n"],"names":["Channel","props","React","channelUrl","useMessageGrouping","useReaction","showSearchIcon","highlightedMessage","startingPoint","onBeforeSendUserMessage","onBeforeSendFileMessage","onBeforeUpdateUserMessage","onChatHeaderActionClick","onSearchClick","replyType","queries","renderUserProfile","disableUserProfile","renderPlaceholderLoader","renderPlaceholderInvalid","renderPlaceholderEmpty","renderChannelHeader","renderMessage","renderMessageInput","renderTypingIndicator","renderCustomSeparator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWMA,OAAO,GAA2B,SAAlCA,OAAkC,CAACC,KAAD;AACtC,sBACEC,6BAAC,eAAD;AACE,IAAA,UAAU,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEE,UADrB;AAEE,IAAA,kBAAkB,EAAEF,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEG,kBAF7B;AAGE,IAAA,WAAW,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEI,WAHtB;AAIE,IAAA,cAAc,EAAEJ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEK,cAJzB;AAKE,IAAA,kBAAkB,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEM,kBAL7B;AAME,IAAA,aAAa,EAAEN,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEO,aANxB;AAOE,IAAA,uBAAuB,EAAEP,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEQ,uBAPlC;AAQE,IAAA,uBAAuB,EAAER,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAES,uBARlC;AASE,IAAA,yBAAyB,EAAET,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEU,yBATpC;AAUE,IAAA,uBAAuB,EAAEV,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEW,uBAVlC;AAWE,IAAA,aAAa,EAAEX,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEY,aAXxB;AAYE,IAAA,SAAS,EAAEZ,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEa,SAZpB;AAaE,IAAA,OAAO,EAAEb,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEc,OAblB;AAcE,IAAA,iBAAiB,EAAEd,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEe,iBAd5B;AAeE,IAAA,kBAAkB,EAAEf,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEgB;AAf7B,kBAiBEf,6BAAC,SAAD;AACE,IAAA,uBAAuB,EAAED,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEiB,uBADlC;AAEE,IAAA,wBAAwB,EAAEjB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEkB,wBAFnC;AAGE,IAAA,sBAAsB,EAAElB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEmB,sBAHjC;AAIE,IAAA,mBAAmB,EAAEnB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEoB,mBAJ9B;AAKE,IAAA,aAAa,EAAEpB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEqB,aALxB;AAME,IAAA,kBAAkB,EAAErB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEsB,kBAN7B;AAOE,IAAA,qBAAqB,EAAEtB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEuB,qBAPhC;AAQE,IAAA,qBAAqB,EAAEvB,KAAK,SAAL,IAAAA,KAAK,WAAL,SAAA,GAAAA,KAAK,CAAEwB;AARhC,IAjBF,CADF;AA8BD;;;;"}
|