<Chat /> renderiza una interfaz de chat completa: header con informacion del agente, lista de mensajes, indicador de escritura, input con soporte de archivos y sugerencias iniciales.
Uso Basico
Props
| Prop | Tipo | Default | Descripcion |
|---|---|---|---|
showHeader | boolean | true | Muestra el header con nombre y estado del agente. |
showPoweredBy | boolean | PoweredByProps | false | Muestra el footer de atribucion. Puede ser true para el default o un objeto custom. |
placeholder | string | "Escribe un mensaje..." | Texto placeholder del input. |
allowAttachments | boolean | false | Habilita el boton de adjuntar archivos. |
suggestedQuestions | string[] | [] | Preguntas sugeridas que aparecen en el estado vacio. |
customCardRenderers | Record<string, ComponentType> | {} | Renderers custom para acciones del agente. |
onMessage | (msg: ChatMessage) => void | — | Callback cuando se envia o recibe un mensaje. |
onActionExecuted | (action: ActionExecuted) => void | — | Callback cuando el agente ejecuta una accion. |
onError | (error: string) => void | — | Callback cuando ocurre un error. |
className | string | — | Clase CSS adicional. |
style | CSSProperties | — | Estilos inline. |
showPoweredBy
Puedes usarshowPoweredBy como booleano o como objeto para personalizar el branding:
PoweredByProps
| Prop | Tipo | Default | Descripcion |
|---|---|---|---|
label | string | "Powered by" | Texto antes del nombre. |
brandName | string | "Plazbot" | Nombre de la marca. |
href | string | null | "https://plazbot.com" | URL del enlace. null para desactivar el link. |
style | CSSProperties | — | Estilos inline del contenedor. |
Header
CuandoshowHeader esta activo, el chat muestra:
- Avatar del agente (basado en
iconWidgetde la configuracion del agente) - Nombre del agente (usa
person.namesi existe, sinoname) - Estado “En linea”
- Boton de reset para limpiar la conversacion
Custom Card Renderers
Cuando el agente ejecuta una accion (service o action), el SDK renderiza una tarjeta con el resultado. Puedes reemplazar o agregar tus propios renderers:intent del servicio o accion configurado en el agente.
Para mas detalle, consulta Cards Personalizadas.
Dimensiones
El componente ocupa el 100% del contenedor padre. Para controlar su tamano, usastyle o envuelvelo en un contenedor:

