"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnnouncementBubble = void 0;
var React = require("react");
var UnavailableAnnouncementBubble_1 = require("./UnavailableAnnouncementBubble");
var DeletedAnnouncementBubble_1 = require("./DeletedAnnouncementBubble");
var QuotedAnnouncementBubble_1 = require("./QuotedAnnouncementBubble");
var NormalAnnouncementBubble_1 = require("./NormalAnnouncementBubble");
exports.AnnouncementBubble = function (props) {
    switch (props.bubbleType) {
        case "unavailable": {
            return (React.createElement(UnavailableAnnouncementBubble_1.UnavailableAnnouncementBubble, { bubbleType: "unavailable", className: props.className, colorTheme: props.colorTheme, unavailableNoticeHeader: props.unavailableNoticeHeader, unavailableNoticeText: props.unavailableNoticeText }));
        }
        case "deleted": {
            return (React.createElement(DeletedAnnouncementBubble_1.DeletedAnnouncementBubble, { bubbleType: "deleted", theme: props.theme, className: props.className, deletionNoticeText: props.deletionNoticeText }));
        }
        case "quoted": {
            return (React.createElement(QuotedAnnouncementBubble_1.QuotedAnnouncementBubble, { bubbleType: "quoted", theme: props.theme, announcementGroupName: props.announcementGroupName, attachments: props.attachments, className: props.className, colorTheme: props.colorTheme, inlineErrorMsg: props.inlineErrorMsg, isMessageTruncated: props.isMessageTruncated, postedInText: props.postedInText, senderIcon: props.senderIcon, senderName: props.senderName, sentAtTimestamp: props.sentAtTimestamp, showLessButtonText: props.showLessButtonText, showMoreButtonText: props.showMoreButtonText, truncationNoticeText: props.truncationNoticeText, truncationTooltipText: props.truncationTooltipText, onToggleShow: props.onToggleShow }, props.children));
        }
        default: {
            return (React.createElement(NormalAnnouncementBubble_1.NormalAnnouncementBubble, { bubbleType: "normal", theme: props.theme, attachments: props.attachments, className: props.className, inlineErrorMsg: props.inlineErrorMsg, onDelete: props.onDelete, onReadReceiptsClick: props.onReadReceiptsClick, onReadReceiptsHover: props.onReadReceiptsHover, onReply: props.onReply, onTranslatedLanguagesClick: props.onTranslatedLanguagesClick, onTranslatedLanguagesHover: props.onTranslatedLanguagesHover, readBy: props.readBy, recipientType: props.recipientType, repliesDisabledMsg: props.repliesDisabledMsg, replyButtonText: props.replyButtonText, senderIcon: props.senderIcon, senderName: props.senderName, sentAtTimestamp: props.sentAtTimestamp, translatedLanguages: props.translatedLanguages }, props.children));
        }
    }
};
