Reusable empty-state component for chat-list surfaces, rendering a muted icon above a title and optional description in a vertically centred layout. ## Key Components ### `ChatListEmptyState` A client component that renders a centred empty state with three elements: - **Icon** — a 24px muted glyph (`ods-text-secondary`) wrapped in a fixed `size-6` container - **Title** — displayed as an `h4` paragraph - **Description** — optional `h6` caption rendered below the title ### `ChatListEmptyStateProps` | Prop | Type | Required | Description | |---|---|---|---| | `icon` | `React.ReactNode` | ✅ | Pre-sized 24px icon glyph | | `title` | `React.ReactNode` | ✅ | Title line rendered as `h4` | | `description` | `React.ReactNode` | ❌ | Optional caption rendered as `h6` | | `className` | `string` | ❌ | Appended to root element | ## Usage Example ```typescript import { ChatListEmptyState } from './chat-list-empty-state' import { ChatsIcon } from '../icons' // With title only } title="No active chats" /> // With description } title="No archived chats" description="Completed conversations will appear here." className="my-custom-class" /> ``` > **Design note:** This component is shared between the "Current Chats" rail and the Chat Archive page (Figma node `113:60939`) to keep both surfaces visually consistent. **Source:** [`flamingo-stack/openframe-oss-lib`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/chat-list-empty-state.tsx)