@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

ModeBest forYou managePackage manages
JazzmineChatFastest production integrationClient instance + optional callbacksConversation create/list/search/delete, history loading, send flow, loading states
ChatInterfaceFull custom state architectureAll data, state, and actionsPresentation, 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/react

Install peer dependencies if your app does not already provide them:

npm install react react-dom react-markdown remark-gfm remark-math rehype-katex katex

Import the package styles once at your app entry:

main.tsx
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

On this page