message-scroller
shadcn-solidjs/message-scrollerFreeComponent
shadcn-solidjs publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by shadcn-solidjs on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://shadcn-solidjs.com/r/message-scroller.jsonSource
1import { cn } from "~/lib/utils.ts";2import IconArrowDown from "~icons/lucide/arrow-down";3import type { Component, ComponentProps } from "solid-js";4import { mergeProps, splitProps } from "solid-js";5import type { ButtonProps } from "./button.tsx";6import { Button } from "./button.tsx";78import {9 MessageScroller as MessageScrollerPrimitive,10 useMessageScroller,11 useMessageScrollerScrollable,12 useMessageScrollerVisibility,13} from "./message-scroller-primitive.ts";1415import type {16 MessageScrollerButtonDirection,17 MessageScrollerContentProps,18 MessageScrollerItemProps,19 MessageScrollerViewportProps,20} from "./message-scroller-primitive.ts";2122const MessageScrollerProvider = MessageScrollerPrimitive.Provider;2324const MessageScroller: Component<ComponentProps<"div">> = (props) => {25 const [local, others] = splitProps(props, ["class"]);26 return (27 <MessageScrollerPrimitive.Root28 data-slot="message-scroller"29 class={cn(30 "group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden",31 local.class,32 )}33 {...others}34 />35 );36};3738const MessageScrollerViewport: Component<MessageScrollerViewportProps> = (39 props,40) => {41 const [local, others] = splitProps(props, ["class"]);42 return (43 <MessageScrollerPrimitive.Viewport44 data-slot="message-scroller-viewport"45 class={cn(46 "data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent scroll-fade-b scrollbar-gutter-stable scrollbar-thin size-full min-h-0 min-w-0 overflow-y-auto overscroll-contain contain-content",47 local.class,48 )}49 {...others}50 />51 );52};5354const MessageScrollerContent: Component<MessageScrollerContentProps> = (55 props,56) => {57 const [local, others] = splitProps(props, ["class"]);58 return (59 <MessageScrollerPrimitive.Content60 data-slot="message-scroller-content"61 class={cn(62 "gap-6 flex h-max min-h-full flex-col",63 local.class,64 )}65 {...others}66 />67 );68};6970const MessageScrollerItem: Component<MessageScrollerItemProps> = (rawProps) => {71 const props = mergeProps({ scrollAnchor: false }, rawProps);72 const [local, others] = splitProps(props, ["class", "scrollAnchor"]);73 return (74 <MessageScrollerPrimitive.Item75 data-slot="message-scroller-item"76 scrollAnchor={local.scrollAnchor}77 class={cn(78 "[contain-intrinsic-size:auto_10rem] [content-visibility:auto] min-w-0 shrink-0",79 local.class,80// … truncated
What it pulls in
npm packages
Other registry items
More from shadcn-solidjs
All 85 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | shadcn-solidjs | Components | Free | 1 dep | |
| alertalert | shadcn-solidjs | Components | Free | 2 deps | |
| alert-dialogalert-dialog | shadcn-solidjs | Components | Free | 2 deps | |
| aspect-ratioaspect-ratio | shadcn-solidjs | Components | Free | no deps | |
| attachmentattachment | shadcn-solidjs | Components | Free | 2 deps | |
| avataravatar | shadcn-solidjs | Components | Free | 1 dep | |
| badgebadge | shadcn-solidjs | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | shadcn-solidjs | Components | Free | 1 dep |
