MicroClub Scroll Area
mcoli-ui-registry/mc-scrollareaFreeComponent
A scroll area component for MicroClub UI
Live preview
live · rendered by the registry
Rendered by mcoli-ui-registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://mcoli-ui.microclub.info/r/mc-scrollarea.jsonSource
1'use client';23import { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';45import { cn } from '@/lib/utils';67function McScrollArea({8 className,9 children,10 title,11 desc,12 ...props13}: ScrollAreaPrimitive.Root.Props & { title?: string; desc?: string[] }) {14 return (15 <ScrollAreaPrimitive.Root16 data-slot="scroll-area"17 className={cn('relative rounded-md ring-1 ring-inset ring-border bg-background', className)}18 {...props}19 >20 <ScrollAreaPrimitive.Viewport data-slot="scroll-area-viewport" className=" size-full">21 {title && (22 <div className=" mb-4 mt-4 ml-4 gap-2.5 size-fit">23 <p className=" font-dm-sans text-4 text-foreground text-normal">{title}</p>24 </div>25 )}26 {desc && (27 <div className="mx-4 flex flex-col gap-2.5 size-fit">28 {desc.map((line, i) => (29 <div key={i} className="px-1.5 py-3.5 border-b-px border-b h-fit min-w-39.5">30 <p className="">{line}</p>31 </div>32 ))}33 </div>34 )}35 {children}36 </ScrollAreaPrimitive.Viewport>37 <McScrollBar />38 <ScrollAreaPrimitive.Corner />39 </ScrollAreaPrimitive.Root>40 );41}4243function McScrollBar({44 className,45 orientation = 'vertical',46 ...props47}: ScrollAreaPrimitive.Scrollbar.Props) {48 return (49 <ScrollAreaPrimitive.Scrollbar50 data-slot="scroll-area-scrollbar"51 data-orientation={orientation}52 orientation={orientation}53 className={cn(54 'flex touch-none p-px transition-colors select-none ' +55 ' data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-horizontal:my-2 data-horizontal:ml-3' +56 ' data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent',57 className58 )}59 {...props}60 >61 <ScrollAreaPrimitive.Thumb62 data-slot="scroll-area-thumb"63 className="relative flex-1 rounded-full bg-border"64 />65 </ScrollAreaPrimitive.Scrollbar>66 );67}6869export { McScrollArea, McScrollBar };
What it pulls in
npm packages
Files it writes
More from mcoli-ui-registry
All 42 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| MicroClub Accordionmc-accordion | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Alertmc-alert | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Alert Dialogmc-alert-dialog | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Avatarmc-avatar | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Badgemc-badge | mcoli-ui-registry | Components | Free | 1 dep | |
| MicroClub Breadcrumbmc-breadcrumb | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Buttonmc-button | mcoli-ui-registry | Components | Free | 2 deps | |
| MicroClub Calendarmc-calendar | mcoli-ui-registry | Components | Free | 3 deps |
