import { __decorate } from "tslib";
import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
import { attr, observable } from '@ni/fast-element';
import { styles } from './styles';
import { template } from './template';
import { ChatConversationAppearance } from './types';
/**
 * A Spright component for displaying a series of chat messages
 */
export class ChatConversation extends FoundationElement {
    constructor() {
        super(...arguments);
        this.appearance = ChatConversationAppearance.default;
        /** @internal */
        this.inputEmpty = true;
        /** @internal */
        this.toolbarEmpty = true;
    }
    slottedInputElementsChanged(_prev, next) {
        this.inputEmpty = next === undefined || next.length === 0;
    }
    slottedToolbarElementsChanged(_prev, next) {
        this.toolbarEmpty = next === undefined || next.length === 0;
    }
}
__decorate([
    attr
], ChatConversation.prototype, "appearance", void 0);
__decorate([
    observable
], ChatConversation.prototype, "inputEmpty", void 0);
__decorate([
    observable
], ChatConversation.prototype, "slottedInputElements", void 0);
__decorate([
    observable
], ChatConversation.prototype, "toolbarEmpty", void 0);
__decorate([
    observable
], ChatConversation.prototype, "slottedToolbarElements", void 0);
const sprightChatConversation = ChatConversation.compose({
    baseName: 'chat-conversation',
    template,
    styles
});
DesignSystem.getOrCreate()
    .withPrefix('spright')
    .register(sprightChatConversation());
export const chatConversationTag = 'spright-chat-conversation';
//# sourceMappingURL=index.js.map