8-bit Scroll Area
8bitcn/scroll-areaFreeComponent
A simple 8-bit Scroll Area component
Install it
npx shadcn@latest add https://www.8bitcn.com/r/scroll-area.jsonSource
1import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";23import { cn } from "@/lib/utils";45function ScrollArea({6 className,7 children,8 ...props9}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {10 return (11 <ScrollAreaPrimitive.Root12 data-slot="scroll-area"13 className={cn("relative", className)}14 {...props}15 >16 <ScrollAreaPrimitive.Viewport17 data-slot="scroll-area-viewport"18 className="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"19 >20 {children}21 </ScrollAreaPrimitive.Viewport>22 <ScrollBar />23 <ScrollAreaPrimitive.Corner />24 </ScrollAreaPrimitive.Root>25 );26}2728function ScrollBar({29 className,30 orientation = "vertical",31 ...props32}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {33 return (34 <ScrollAreaPrimitive.ScrollAreaScrollbar35 data-slot="scroll-area-scrollbar"36 orientation={orientation}37 className={cn(38 "flex touch-none p-px transition-colors select-none bg-foreground/30 dark:bg-ring/30 relative",39 orientation === "vertical" &&40 "h-full w-1.5 border-l border-l-transparent",41 orientation === "horizontal" &&42 "h-1.5 flex-col border-t border-t-transparent",43 className44 )}45 {...props}46 >47 <ScrollAreaPrimitive.ScrollAreaThumb48 data-slot="scroll-area-thumb"49 className={cn(50 "relative dark:bg-ring rounded-none flex-1 bg-foreground transition-none duration-75",51 orientation === "vertical" && "scale-x-250 ",52 orientation === "horizontal" && "scale-y-250 "53 )}54 />55 </ScrollAreaPrimitive.ScrollAreaScrollbar>56 );57}5859export { ScrollArea, ScrollBar };
What it pulls in
npm packages
Files it writes
More from 8bitcn
All 121 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| 8-bit Accordionaccordion | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alertalert | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Alert Dialogalert-dialog | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Avataravatar | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Badgebadge | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Breadcrumbbreadcrumb | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Buttonbutton | 8bitcn | Components | Free | no deps · 2 files | |
| 8-bit Button Groupbutton-group | 8bitcn | Components | Free | no deps · 4 files |
