11import Typography from '@mui/material/Typography'
22import React from 'react'
33
4- import { ElementRenderer , MarkedMarkdown , type ThreadableMessage } from '..'
4+ import ElementRenderer from '../elementRenderer '
55import Icon from '../icon/icon'
6+ import MarkedMarkdown from '../markdown'
67import Text from '../text/text'
8+ import type { Message } from '../types'
79import CopyText from './actions/copy/copyText'
810import TextToSpeech from './actions/textToSpeech/textToSpeech'
911import MessageCanvas from './messageCanvas'
@@ -111,7 +113,7 @@ const elementRendererString = `<ElementRenderer
111113 supportedElements={{ text: Text }}
112114 />`
113115
114- const profileString = `(message: ThreadableMessage ) => {
116+ const profileString = `(message: Message ) => {
115117 <>
116118 {getProfileIcon(message)}
117119 <Typography variant="body1" color="text.secondary">
@@ -120,23 +122,23 @@ const profileString = `(message: ThreadableMessage) => {
120122 </>
121123 }`
122124
123- function getProfileIcon ( message : ThreadableMessage ) {
125+ function getProfileIcon ( message : Message ) {
124126 if ( message . sender . name ?. includes ( 'agent' ) ) {
125127 return < Icon name = "smart_toy" />
126128 } else {
127129 return < Icon name = "account_circle" />
128130 }
129131}
130132
131- function getProfileName ( message : ThreadableMessage ) {
133+ function getProfileName ( message : Message ) {
132134 return (
133135 < Typography variant = "body1" color = "text.secondary" >
134136 { message . sender . name }
135137 </ Typography >
136138 )
137139}
138140
139- function getProfileIconAndName ( message : ThreadableMessage ) {
141+ function getProfileIconAndName ( message : Message ) {
140142 return (
141143 < >
142144 { getProfileIcon ( message ) }
@@ -149,7 +151,7 @@ export const WithProfileIcon = {
149151 args : {
150152 children : (
151153 < ElementRenderer
152- message = { messageFromHuman }
154+ messages = { [ messageFromHuman ] }
153155 supportedElements = { { text : Text } }
154156 { ...commonElementRendererProps }
155157 />
@@ -175,7 +177,7 @@ export const NoIcon = {
175177 args : {
176178 children : (
177179 < ElementRenderer
178- message = { messageFromAgent }
180+ messages = { [ messageFromAgent ] }
179181 supportedElements = { { text : Text } }
180182 { ...commonElementRendererProps }
181183 />
@@ -201,14 +203,14 @@ export const WithCopyIcon = {
201203 args : {
202204 children : (
203205 < ElementRenderer
204- message = { messageFromHuman }
206+ messages = { [ messageFromHuman ] }
205207 supportedElements = { { text : Text } }
206208 { ...commonElementRendererProps }
207209 />
208210 ) ,
209211 message : messageFromHuman ,
210212 getProfileComponent : getProfileIconAndName ,
211- getActionsComponent : ( message : ThreadableMessage ) => {
213+ getActionsComponent : ( message : Message ) => {
212214 const copyButton = message . format === 'text' && (
213215 < CopyText message = { message } />
214216 )
@@ -222,7 +224,7 @@ export const WithCopyIcon = {
222224 source : {
223225 code : `<MessageCanvas
224226 getProfileComponent={${ profileString } }
225- getActionsComponent={(message: ThreadableMessage ) => {
227+ getActionsComponent={(message: Message ) => {
226228 const copyButton = message.format === 'text' && <CopyText message={message} />
227229 if (copyButton) {
228230 return <>{copyButton}</>
@@ -241,14 +243,14 @@ export const WithTextToSpeech = {
241243 args : {
242244 children : (
243245 < ElementRenderer
244- message = { markdownMessage }
246+ messages = { [ markdownMessage ] }
245247 supportedElements = { { markdown : MarkedMarkdown } }
246248 { ...commonElementRendererProps }
247249 />
248250 ) ,
249251 message : markdownMessage ,
250252 getProfileComponent : getProfileIconAndName ,
251- getActionsComponent : ( message : ThreadableMessage ) => {
253+ getActionsComponent : ( message : Message ) => {
252254 return (
253255 < >
254256 < TextToSpeech message = { message } />
@@ -265,7 +267,7 @@ export const WithTextToSpeech = {
265267 source : {
266268 code : `<MessageCanvas
267269 getProfileComponent={${ profileString } }
268- getActionsComponent={(message: ThreadableMessage ) => {
270+ getActionsComponent={(message: Message ) => {
269271 const copyButton = message.format === 'text' && <CopyText message={message} />
270272 if (copyButton) {
271273 return <>{copyButton}</>
0 commit comments