mantine-chat-components
Chat UI primitives for React: layout, scrollable messages, bubbles, and composer — built on Mantine
Source
View source code
Package
mantine-chat-components
Docs
Edit this page
Built by
Pradip Bankar (@pradip-v2)
License
MIT
Installation
Import styles once in your app root (e.g. _app.tsx or root layout):
Interactive chat
Compose Chat (container), ChatMessages (scrollable list), ChatMessage (bubbles), and ChatInput (textarea + send). The demo below keeps message state in React; wire onSubmit to your API or streaming layer.
Hello! Ask me anything.
Message bubble
Use the configurator to switch user vs assistant alignment and bubble colors.
This is a chat bubble. Resize the window to see max-width behavior.
User color
Assistant color
Notes
- Enter sends a message; Shift+Enter inserts a newline.
- ChatInput includes an emoji grid (popover) and file attachments (
onFilesChange, optionalaccept/multipleFiles). SetwithEmojiPicker={false}orwithFileUpload={false}to hide either control. ExportCHAT_EMOJIS(or passemojiList) to customize the picker. UsereplyingTo+onCancelReplyto show a reply preview above the field. - ChatMessage supports
replyTo(quoted parent),reactions+onReaction(chips and + picker),onReply, and optionalmessageId(data-message-id). - Style any part via the Styles API tab using
classNames,styles, or CSS variables on each component.