Brand and content
ChatThread
Accessible message transcript with decorative avatars.
Live example
Usage
Each example includes the complete adapter-specific parameter reference. Copy it as a starting point, then remove options your use case does not need.
React
import { ChatThread } from "@cofob/design-system-react";
/**
* Complete ChatThread parameter reference.
* @param messages
* type: readonly ChatMessage[]
* required
* example: {messages}
* @param label
* type: string | renderable content
* default: "Conversation"
* example: "Accessible label"
* @param list attributes
* type: native element attributes
* default: —
* example: class / style / aria-* / data-*
*/
export function ChatThreadExample() {
return (
<ChatThread messages={messages} />
);
}Svelte
<script lang="ts">
import { ChatThread } from "@cofob/design-system-svelte";
// Complete ChatThread parameter reference.
// messages
// type: readonly ChatMessage[]
// required
// example: {messages}
// label
// type: string | renderable content
// default: "Conversation"
// example: "Accessible label"
// list attributes
// type: native element attributes
// default: —
// example: class / style / aria-* / data-*
</script>
<ChatThread messages={messages} />HTML
<!--
Complete ChatThread parameter reference.
messages
type: readonly ChatMessage[]
required
example: {messages}
label
type: string | renderable content
default: "Conversation"
example: "Accessible label"
list attributes
type: native element attributes
default: —
example: class / style / aria-* / data-*
-->
<ol class="cf-chat-thread">…</ol>Parameters
Adapter differences are explicit. Native element attributes are forwarded in React and Svelte and can be written directly in HTML.
| Parameter | Type | Default | Adapters | Example | Description |
|---|---|---|---|---|---|
messagesrequired | readonly ChatMessage[] | required | React · Svelte · HTML | {messages} | Ordered accessible chat messages with author, body, time, ownership, and avatar. |
label | string | renderable content | "Conversation" | React · Svelte · HTML | "Accessible label" | Visible or accessible name, depending on the component. |
list attributes | native element attributes | — | React · Svelte · HTML | class / style / aria-* / data-* | Forwards native class/style, accessibility, event, and data attributes to the root element. |