@jazzmine-ui/react
Ship a production-grade chat UI in React without rebuilding conversation UI, search, and state orchestration from scratch.
Ship a production-grade chat UI in React. Integrate in two ways: use JazzmineChat for the fastest managed path, or use ChatInterface when your app must own every part of state and data flow.
SDK-agnostic by design
Any backend client that structurally matches the IJazzmineClient contract can power managed
mode.
Integration modes
| Mode | Best for | You manage | Package manages |
|---|---|---|---|
JazzmineChat | Fastest production integration | Client instance + optional callbacks | Conversation create/list/search/delete, history loading, send flow, loading states |
ChatInterface | Full custom state architecture | All data, state, and actions | Presentation, local UI interactions, context selection UX |
What you get
- Conversation lifecycle — managed create, select, rename, and delete flows; sidebar pagination and search.
- Message experience — Markdown + GFM + LaTeX rendering (react-markdown, remark-gfm, remark-math, rehype-katex); empty-state messages.
- Context & branding — explicit context selection/forwarding, history mapping, logo and avatar customization.
Install
npm install @jazzmine-ui/reactInstall peer dependencies if your app does not already provide them:
npm install react react-dom react-markdown remark-gfm remark-math rehype-katex katexImport the package styles once at your app entry:
import '@jazzmine-ui/react/styles';Public exports
Components: ChatInterface, Sidebar, MessageList, FloatingChatWidget, JazzmineChat, SearchModal
Types: ChatInterfaceProps, SidebarProps, MessageListProps, FloatingChatWidgetProps, JazzmineChatProps, SearchModalProps, IJazzmineClient, Context, Message, Chat
Where to go next
Getting Started
Pick a mode and get a working implementation in minutes.
JazzmineChat
Managed mode with lifecycle orchestration built in.
ChatInterface
Fully controlled mode for custom state architecture.
Client Contract
The IJazzmineClient interface and shared data models.
Theming
Customize colors, spacing, and layout with CSS variables.