{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "snapp-message-scroller", "title": "Snapp Message Scroller", "description": "The shared Snapp message-scroller UI primitive.", "dependencies": [ "@shadcn/react", "lucide-react" ], "registryDependencies": [ "@snapp/snapp-button", "@snapp/snapp-utils" ], "files": [ { "path": "registry/radix-nova/ui/message-scroller.tsx", "content": "import * as React from \"react\"\nimport {\n MessageScroller as MessageScrollerPrimitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n} from \"@shadcn/react/message-scroller\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { ArrowDownIcon } from \"lucide-react\"\n\nfunction MessageScrollerProvider(\n props: React.ComponentProps\n) {\n return \n}\n\nfunction MessageScroller({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction MessageScrollerViewport({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction MessageScrollerContent({\n className,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction MessageScrollerItem({\n className,\n scrollAnchor = false,\n ...props\n}: React.ComponentProps) {\n return (\n \n )\n}\n\nfunction MessageScrollerButton({\n direction = \"end\",\n className,\n children,\n render,\n variant = \"secondary\",\n size = \"icon-sm\",\n ...props\n}: React.ComponentProps &\n Pick, \"variant\" | \"size\">) {\n return (\n }\n {...props}\n >\n {children ?? (\n <>\n \n \n {direction === \"end\" ? \"Scroll to end\" : \"Scroll to start\"}\n \n \n )}\n \n )\n}\n\nexport {\n MessageScrollerProvider,\n MessageScroller,\n MessageScrollerViewport,\n MessageScrollerContent,\n MessageScrollerItem,\n MessageScrollerButton,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n}\n", "type": "registry:ui", "target": "@ui/message-scroller.tsx" } ], "type": "registry:ui" }