AI Chat Fancy Stable

ChatPanel

The shell a conversation lives in: a sticky header, a transcript that pins itself to the bottom while an answer arrives and offers the way back once you scroll up, and a sticky composer row

Preview

Installation

pnpm add fancy-ui-svelte
import { ChatPanel } from 'fancy-ui-svelte'

Usage

svelte
<script lang="ts">
  import { ChatPanel } from 'fancy-ui-svelte';
</script>

<ChatPanel />

Examples

Basic Usage

Full Conversation

Props

PropTypeDefaultDescription
streaming booleanfalseWhether a reply is still arriving; pins the transcript to its bottom until the reader scrolls up
empty booleanfalseRenders the emptyState snippet in place of the message stream
returnLabel string"Jump to latest"Label on the pill offered once the reader scrolls away from the bottom

Slots

SlotDescription
headerSticky top region: a title, a model name, a close button
childrenThe message stream, filling the scroll region
composerSticky bottom region — where Composer belongs
emptyStateRendered instead of children while empty — where ChatEmptyState belongs