Components
Message Scroller
A scrollable message container with auto-scroll and a jump button.
MessageScroller is a scrollable container for chat-style message lists. It auto-scrolls to the latest message and shows a floating button to jump back to the start or end.
Installation
pnpm dlx shadcn@latest add https://faber-ui.vercel.app/r/message-scroller.jsonUsage
"use client";
import {
MessageScroller,
MessageScrollerButton,
MessageScrollerContent,
MessageScrollerItem,
MessageScrollerProvider,
MessageScrollerViewport,
} from "@/components/ui/message-scroller";
export default function Example() {
return (
<MessageScrollerProvider>
<MessageScroller className="h-[300px]">
<MessageScrollerViewport>
<MessageScrollerContent>
<MessageScrollerItem>First message</MessageScrollerItem>
<MessageScrollerItem>Second message</MessageScrollerItem>
<MessageScrollerItem>Third message</MessageScrollerItem>
</MessageScrollerContent>
</MessageScrollerViewport>
<MessageScrollerButton />
</MessageScroller>
</MessageScrollerProvider>
);
}Examples
Default
API
Each part forwards every prop of what it is built on, including className and render where Base UI supports it. The props column lists only what Faber UI adds on top.
| Part | Built on | Props |
|---|---|---|
MessageScrollerProvider | MessageScroller.Provider@shadcn/react/message-scroller | — |
MessageScrollerdata-slot="message-scroller" | MessageScroller.Root@shadcn/react/message-scroller | — |
MessageScrollerViewportdata-slot="message-scroller-viewport" | MessageScroller.Viewport@shadcn/react/message-scroller | — |
MessageScrollerContentdata-slot="message-scroller-content" | MessageScroller.Content@shadcn/react/message-scroller | — |
MessageScrollerItemdata-slot="message-scroller-item" | MessageScroller.Item@shadcn/react/message-scroller | — |
MessageScrollerButtondata-slot="message-scroller-button" | MessageScroller.Button@shadcn/react/message-scroller |
|
useMessageScroller | Hook | — |
useMessageScrollerScrollable | Hook | — |
useMessageScrollerVisibility | Hook | — |
Changelog
Full MessageScroller historyLast updated on