Scroll area
blacksite/scroll-areaFreeComponent
Custom scrollbar styled to match dark surfaces.
Install it
npx shadcn@latest add https://blacksite.sh/r/scroll-area.jsonSource
1"use client";23import * as React from "react";4import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";56import { cn } from "@/lib/utils";78const ScrollArea = React.memo(9 React.forwardRef<10 React.ElementRef<typeof ScrollAreaPrimitive.Root>,11 React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>12 >(({ className, children, ...props }, ref) => (13 <ScrollAreaPrimitive.Root14 ref={ref}15 className={cn("relative overflow-hidden", className)}16 {...props}17 >18 <ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">19 {children}20 </ScrollAreaPrimitive.Viewport>21 <ScrollBar />22 <ScrollAreaPrimitive.Corner />23 </ScrollAreaPrimitive.Root>24 )),25);26ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;2728const ScrollBar = React.memo(29 React.forwardRef<30 React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,31 React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>32 >(({ className, orientation = "vertical", ...props }, ref) => (33 <ScrollAreaPrimitive.ScrollAreaScrollbar34 ref={ref}35 orientation={orientation}36 className={cn(37 "flex touch-none transition-colors select-none",38 orientation === "vertical" && "h-full w-1.5 border-l border-l-transparent p-[1px]",39 orientation === "horizontal" && "h-1.5 flex-col border-t border-t-transparent p-[1px]",40 className,41 )}42 {...props}43 >44 <ScrollAreaPrimitive.ScrollAreaThumb className="bg-border-strong hover:bg-foreground-subtle relative flex-1 rounded-full" />45 </ScrollAreaPrimitive.ScrollAreaScrollbar>46 )),47);48ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;4950export { ScrollArea, ScrollBar };
More from blacksite
All 25 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| App headerapp-header | blacksite | Components | Free | no deps | |
| Badgebadge | blacksite | Components | Free | no deps | |
| Bar chartbar-chart | blacksite | Components | Free | no deps | |
| Buttonbutton | blacksite | Components | Free | no deps | |
| Cardcard | blacksite | Components | Free | no deps | |
| Chart tooltipchart-tooltip | blacksite | Components | Free | no deps | |
| Data listdata-list | blacksite | Components | Free | no deps | |
| Gantt timelinegantt-timeline | blacksite | Components | Free | no deps |
