"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ChatTimeline = ChatTimeline; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _react2 = require("@emotion/react"); var _lodash = require("lodash"); var _eui = require("@elastic/eui"); var _chat_item = require("./chat_item"); var _chat_welcome_panel = require("./chat_welcome_panel"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ function ChatTimeline({ items = [], knowledgeBase, onEdit, onFeedback, onRegenerate, onStopGenerating }) { const filteredItems = items.filter(item => !item.display.hide); return /*#__PURE__*/_react.default.createElement(_eui.EuiCommentList, { css: (0, _react2.css)` padding-bottom: 32px; ` }, (0, _lodash.compact)(filteredItems.map((item, index) => /*#__PURE__*/_react.default.createElement(_chat_item.ChatItem // use index, not id to prevent unmounting of component when message is persisted , (0, _extends2.default)({ key: index }, item, { onFeedbackClick: feedback => { onFeedback(item, feedback); }, onRegenerateClick: () => { onRegenerate(item); }, onEditSubmit: message => { return onEdit(item, message); }, onStopGeneratingClick: onStopGenerating })))), filteredItems.length === 1 ? /*#__PURE__*/_react.default.createElement(_chat_welcome_panel.ChatWelcomePanel, { knowledgeBase: knowledgeBase }) : null); }