message-scroller
gr8monk3ys/message-scrollerFreeComponent
message-scroller (identity-styled).
Install it
npx shadcn@latest add https://ui.lscaturchio.xyz/r/message-scroller.jsonSource
1"use client"23import * as React from "react"4import {5 MessageScroller as MessageScrollerPrimitive,6 useMessageScroller,7 useMessageScrollerScrollable,8 useMessageScrollerVisibility,9} from "@shadcn/react/message-scroller"10import { ArrowDownIcon } from "lucide-react"1112import { cn } from "@/lib/utils"13import { Button } from "@/components/ui/button"1415function MessageScrollerProvider(16 props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>17) {18 return <MessageScrollerPrimitive.Provider {...props} />19}2021function MessageScroller({22 className,23 ...props24}: React.ComponentProps<typeof MessageScrollerPrimitive.Root>) {25 return (26 <MessageScrollerPrimitive.Root27 data-slot="message-scroller"28 className={cn(29 "group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden",30 className31 )}32 {...props}33 />34 )35}3637function MessageScrollerViewport({38 className,39 ...props40}: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>) {41 return (42 <MessageScrollerPrimitive.Viewport43 data-slot="message-scroller-viewport"44 className={cn(45 "size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-none",46 className47 )}48 {...props}49 />50 )51}5253function MessageScrollerContent({54 className,55 ...props56}: React.ComponentProps<typeof MessageScrollerPrimitive.Content>) {57 return (58 <MessageScrollerPrimitive.Content59 data-slot="message-scroller-content"60 className={cn("flex h-max min-h-full flex-col gap-8", className)}61 {...props}62 />63 )64}6566function MessageScrollerItem({67 className,68 scrollAnchor = false,69 ...props70}: React.ComponentProps<typeof MessageScrollerPrimitive.Item>) {71 return (72 <MessageScrollerPrimitive.Item73 data-slot="message-scroller-item"74 scrollAnchor={scrollAnchor}75 className={cn(76 "min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]",77 className78 )}79 {...props}80 />81 )82}8384function MessageScrollerButton({85 direction = "end",86 className,87 children,88 render,89 variant = "secondary",90 size = "icon-sm",91 ...props92}: React.ComponentProps<typeof MessageScrollerPrimitive.Button> &93 Pick<React.ComponentProps<typeof Button>, "variant" | "size">) {94 return (95 <MessageScrollerPrimitive.Button96 data-slot="message-scroller-button"97// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from gr8monk3ys
All 69 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | gr8monk3ys | Components | Free | 2 deps | |
| ActiveNavLinkactive-nav-link | gr8monk3ys | Components | Free | no deps · 2 files | |
| alertalert | gr8monk3ys | Components | Free | 1 dep | |
| alert-dialogalert-dialog | gr8monk3ys | Components | Free | 1 dep | |
| aspect-ratioaspect-ratio | gr8monk3ys | Components | Free | 1 dep | |
| attachmentattachment | gr8monk3ys | Components | Free | 2 deps | |
| Avataravatar | gr8monk3ys | Components | Free | 1 dep | |
| Badgebadge | gr8monk3ys | Components | Free | 1 dep |
