@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
115 lines (112 loc) • 6.15 kB
JavaScript
import React__default from 'react';
import { u as useOpenChannelContext } from '../../chunks/bundle-Dj_wODPB.js';
import OpenChannelInput from './OpenChannelInput.js';
import FrozenNotification from './FrozenChannelNotification.js';
import OpenchannelConversationHeader from './OpenChannelHeader.js';
import PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder.js';
import OpenChannelMessageList from './OpenChannelMessageList.js';
import '../../chunks/bundle-Cdqsdoa8.js';
import '../../chunks/bundle-Bpofr334.js';
import '../../chunks/bundle-oM0Fxt9G.js';
import '../../chunks/bundle-DmnXeBdU.js';
import '../../chunks/bundle-B5LKcMN_.js';
import '../../chunks/bundle-4clodtJA.js';
import '../../chunks/bundle-B56O1y8C.js';
import '../../chunks/bundle-JhKiWlXT.js';
import '@sendbird/chat';
import '@sendbird/chat/groupChannel';
import '@sendbird/chat/openChannel';
import '../../chunks/bundle-DpOgiF9r.js';
import '../../chunks/bundle-YDriVB8K.js';
import '../../chunks/bundle-LLA95Pqf.js';
import '../../chunks/bundle-BfgSx7DM.js';
import '../../chunks/bundle-F_R9C4cW.js';
import '../../hooks/useModal.js';
import '../../chunks/bundle-lqEjT2ED.js';
import '../../chunks/bundle-DX6fRIJl.js';
import '../../chunks/bundle-C4anRHWY.js';
import 'react-dom';
import '../../chunks/bundle-C2ARCMSL.js';
import '../../ui/IconButton.js';
import '../../ui/Button.js';
import '../../chunks/bundle-Cdplrrlw.js';
import '../../ui/Icon.js';
import '../../chunks/bundle-BCjR1Qiq.js';
import '../../chunks/bundle-BEPoP7sp.js';
import '../../chunks/bundle-CFc2hy8g.js';
import '../../chunks/bundle-C5-D2BAP.js';
import 'dompurify';
import '../../chunks/bundle-6I0gJidJ.js';
import '../../chunks/bundle-B40pTdZv.js';
import '../../chunks/bundle-iPLJ9a5J.js';
import '../../chunks/bundle-BZSLsKkw.js';
import '../../utils/message/getOutgoingMessageState.js';
import '../../chunks/bundle-CglqREVl.js';
import '../../chunks/bundle-BqKoZDqX.js';
import '../../chunks/bundle-EKFQIahk.js';
import '../../chunks/bundle-ExNQo0Ly.js';
import '../../chunks/bundle-B5xkbY4c.js';
import '../../chunks/bundle-BJShQs4P.js';
import '../../ui/ImageRenderer.js';
import '../../ui/Loader.js';
import '../../chunks/bundle-DyguzebC.js';
import './OpenChannelMessage.js';
import '../../chunks/bundle-DyosazG-.js';
import '../../ui/OpenchannelUserMessage.js';
import '../../chunks/bundle-zNUBt0Cg.js';
import '../../ui/SortByRow.js';
import '../../ui/UserProfile.js';
import '../../sendbirdSelectors.js';
import '../../chunks/bundle-BShLbNAF.js';
import '../../chunks/bundle-Cyocqt10.js';
import '../../chunks/bundle-WvDa8Nzx.js';
import '../../ui/OpenChannelAdminMessage.js';
import '../../ui/OpenchannelOGMessage.js';
import '../../ui/LinkLabel.js';
import '../../chunks/bundle-CPOgmEXq.js';
import '../../Message/context.js';
import '../../ui/MentionLabel.js';
import '../../ui/OpenchannelThumbnailMessage.js';
import '../../ui/OpenchannelFileMessage.js';
import '../../ui/TextButton.js';
import '../../chunks/bundle-C1npFBfj.js';
import '../../ui/DateSeparator.js';
import '../../ui/FileViewer.js';
import '../../chunks/bundle-BKXsd3zk.js';
import '@sendbird/uikit-tools';
import '../../chunks/bundle-Banyr0qP.js';
import '../../chunks/bundle-B9yd2WEy.js';
import '../../chunks/bundle-Cd8fnvI_.js';
import '../../chunks/bundle-ChLik1Zs.js';
import '@sendbird/chat/message';
import '../../Channel/utils/compareMessagesForGrouping.js';
var COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation';
var OpenChannelUI = function (_a) {
var renderMessage = _a.renderMessage, renderHeader = _a.renderHeader, renderPlaceHolderEmptyList = _a.renderPlaceHolderEmptyList, renderPlaceHolderError = _a.renderPlaceHolderError, renderPlaceHolderLoading = _a.renderPlaceHolderLoading, renderMessageInput = _a.renderMessageInput, renderInput = _a.renderInput;
var _b = useOpenChannelContext(), currentOpenChannel = _b.currentOpenChannel, amIBanned = _b.amIBanned, loading = _b.loading, isInvalid = _b.isInvalid, messageInputRef = _b.messageInputRef, conversationScrollRef = _b.conversationScrollRef;
if (!currentOpenChannel
|| !(currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.url)
|| amIBanned) {
return ((renderPlaceHolderError === null || renderPlaceHolderError === void 0 ? void 0 : renderPlaceHolderError())
|| React__default.createElement("div", { className: COMPONENT_CLASS_NAME },
React__default.createElement(PlaceHolder, { type: PlaceHolderTypes.NO_CHANNELS })));
}
if (loading) {
return ((renderPlaceHolderLoading === null || renderPlaceHolderLoading === void 0 ? void 0 : renderPlaceHolderLoading())
|| React__default.createElement("div", { className: COMPONENT_CLASS_NAME },
React__default.createElement(PlaceHolder, { type: PlaceHolderTypes.LOADING })));
}
if (isInvalid) {
return ((renderPlaceHolderError === null || renderPlaceHolderError === void 0 ? void 0 : renderPlaceHolderError())
|| React__default.createElement("div", { className: COMPONENT_CLASS_NAME },
React__default.createElement(PlaceHolder, { type: PlaceHolderTypes.WRONG })));
}
var renderInputComponent = renderMessageInput || renderInput;
return (React__default.createElement("div", { className: COMPONENT_CLASS_NAME },
(renderHeader === null || renderHeader === void 0 ? void 0 : renderHeader()) || React__default.createElement(OpenchannelConversationHeader, null),
(currentOpenChannel === null || currentOpenChannel === void 0 ? void 0 : currentOpenChannel.isFrozen) && React__default.createElement(FrozenNotification, null),
React__default.createElement(OpenChannelMessageList, { ref: conversationScrollRef, renderMessage: renderMessage, renderPlaceHolderEmptyList: renderPlaceHolderEmptyList }),
(renderInputComponent === null || renderInputComponent === void 0 ? void 0 : renderInputComponent()) || React__default.createElement(OpenChannelInput, { ref: messageInputRef })));
};
export { OpenChannelUI as default };
//# sourceMappingURL=OpenChannelUI.js.map