--- ## Chat Thin full-height layout shell for a chat surface: an optional pinned `header` (border-b), the scrollable conversation area as `children` (the consumer drops a ChatMessageList here — the shell itself never scrolls, the body child does), and an optional pinned `composer` at the bottom (border-t, e.g. PromptInput). No state, no context, no provider — pure structure with `min-h-0` flex discipline so it fills its parent and hands scrolling to its body. **Import:** `import { Chat } from '@urbicon-ui/blocks';` ### Examples ```svelte {#snippet header()}{/snippet} {#snippet composer()}{/snippet} ``` ### Api | Prop | Type | Required | Default | Description | | --- | --- | :---: | --- | --- | | ...ChatVariants | `VariantProps` | no | | Styling variants from ChatVariants | | ...HTMLAttributes | `HTMLAttributes` | no | | HTML attributes (excluding: 'children' | 'class') | | children | `Snippet` | no | | The scrollable conversation area — typically a ChatMessageList. | | class | `string` | no | | Extra classes merged onto the root element. | | composer | `Snippet` | no | | Optional pinned composer rendered below the conversation (border-t) — e.g. PromptInput. | | header | `Snippet` | no | | Optional pinned header rendered above the conversation (border-b). | | preset | `string` | no | | Apply a named preset registered via ``. Prefer this over `class` overrides for reusable custom looks. | | slotClasses | `Partial>` | no | | Per-slot class overrides. Slots: root | header | body | composer | | unstyled | `boolean` | no | | Remove all default tv classes. | Inherited from: - ChatVariants (external) - Omit, 'children' | 'class'> (omit-pattern)