diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx index fc5552d008fa7d..9f581b31795f14 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx @@ -12,7 +12,6 @@ import { EuiComment, EuiErrorBoundary, EuiPanel, - EuiSpacer, useGeneratedHtmlId, } from '@elastic/eui'; import { ChatItemActions } from './chat_item_actions'; @@ -27,7 +26,7 @@ import type { Feedback } from '../feedback_buttons'; import type { ChatActionClickHandler } from './types'; import type { TelemetryEventTypeWithPayload } from '../../analytics'; -export interface ChatItemProps extends ChatTimelineItem { +export interface ChatItemProps extends Omit { onActionClick: ChatActionClickHandler; onEditSubmit: (message: Message) => void; onFeedbackClick: (feedback: Feedback) => void; @@ -36,15 +35,19 @@ export interface ChatItemProps extends ChatTimelineItem { onStopGeneratingClick: () => void; } -const normalMessageClassName = css` - .euiCommentEvent__body { - padding: 0; - } - +const moreCompactHeaderClassName = css` .euiCommentEvent__header > .euiPanel { padding-top: 4px; padding-bottom: 4px; } +`; + +const normalMessageClassName = css` + ${moreCompactHeaderClassName} + + .euiCommentEvent__body { + padding: 0; + } /* targets .*euiTimelineItemEvent-top, makes sure text properly wraps and doesn't overflow */ > :last-child { @@ -74,12 +77,13 @@ const noPanelMessageClassName = css` export function ChatItem({ actions: { canCopy, canEdit, canGiveFeedback, canRegenerate }, content, + function_call: functionCall, + role, currentUser, display: { collapsed }, element, error, loading, - message, title, onActionClick, onEditSubmit, @@ -96,10 +100,13 @@ export function ChatItem({ const actions = [canCopy, collapsed, canCopy].filter(Boolean); const noBodyMessageClassName = css` + ${moreCompactHeaderClassName} + .euiCommentEvent__body { padding: 0; height: ${expanded ? 'fit-content' : '0px'}; overflow: hidden; + border: none; } `; @@ -132,7 +139,9 @@ export function ChatItem({ - {contentElement} ); @@ -155,10 +163,8 @@ export function ChatItem({ return ( - } - username={getRoleTranslation(message.message.role)} + timelineAvatar={} + username={getRoleTranslation(role)} event={title} actions={ void; onSubmit: (message: Message) => void; } + +const textContainerClassName = css` + padding: 4px 0; +`; + +const editorContainerClassName = css` + padding: 12px 0; +`; + export function ChatItemContentInlinePromptEditor({ editing, loading, - message, + functionCall, + content, + role, onActionClick, onSendTelemetry, onSubmit, }: Props) { return !editing ? ( - + + + ) : ( -