Storybook stories for the `ChatContainer` composite component, demonstrating the full Fae client-facing chat shell across layout and state variants.
## Key Components
- **`FaeChatShell`** — Internal interactive wrapper that composes `ChatContainer`, `ChatHeader`, `ChatContent`, `ChatFooter`, `ChatMessageList`, `ChatInput`, `QuickActionWall`, and `ModelDisplay` into a working chat UI. Manages local message state and simulates user message submission.
- **`FAE_MESSAGES`** — Sample conversation seed data pre-populating the message list with a realistic Fae/user exchange.
- **`SAMPLE_QUICK_ACTIONS`** — Three quick-action chips (`Computer slow`, `Check updates`, `Internet problems`) used in the `QuickActionWall`.
### Exported Stories
| Story | Description |
|---|---|
| `Fae` | Default Fae chat shell with no extras |
| `FaeWithTicket` | Header shows active ticket info row |
| `ClientChatWithMspOrganization` | MSP branding bar rendered in header |
| `ClientChatMspOrganizationLoading` | MSP branding slot in skeleton/loading state |
| `FaeFullWidth` | Drops centered column; fills full container width |
| `FaeBareHeader` | Strips card chrome from header for embedded contexts |
| `FaeModelLoading` | `ModelDisplaySkeleton` shown while model metadata resolves |
## Usage Example
```typescript
// Render the default Fae story in isolation
import { Fae } from './ChatContainer.stories'
// In a test or custom harness:
// Or control FaeChatShell props directly:
```
## Source
[`ChatContainer.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatContainer.stories.tsx)