ScrollArea
ნატიური სქროლი თხელი, თემის ფერის scrollbar-ებით (Base UI ScrollArea). type="hover"-ის დროს scrollbar ჩნდება hover-ზე ან სქროლისას და უმოქმედობისას ქრება.
მაგალითი
import { ScrollArea } from "@llc-conciergia/ui/scroll-area";
<ScrollArea aria-label="ნომრების სია" className="h-64 w-64 rounded-lg border">
<ul className="p-3">
{rooms.map((room) => <li key={room.number}>ნომერი {room.number}</li>)}
</ul>
</ScrollArea>ინსტალაცია
pnpm add @llc-conciergia/uiimport { ScrollArea } from "@llc-conciergia/ui/scroll-area";npx @llc-conciergia/cli add scroll-areanpx shadcn@latest add https://ui.conciergia.co/r/scroll-area.jsonშენიშვნები
სიმაღლე ან max-h root-ზე მიეცით. viewport ფოკუსირებადია, როცა კონტენტი გადადის, ამიტომ კლავიატურით ისრებით/Page Down-ით სქროლდება; aria-label-ით ის სახელიან region-ად იქცევა. ScrollBar, ScrollAreaViewport, ScrollAreaContent და ScrollAreaCorner ცალკეც ექსპორტირებულია საკუთარი კომპოზიციისთვის.
Props
| Prop | ტიპი | ნაგულისხმევი | აღწერა |
|---|---|---|---|
| orientation | "vertical" | "horizontal" | "both" | "vertical" | რომელი scrollbar-ები გამოჩნდეს. |
| type | "hover" | "always" | "hover" | hover — ქრება უმოქმედობისას; always — ყოველთვის ჩანს. |
| viewportClassName | string | — | კლასები viewport-ზე (padding). |
| aria-label | string | — | viewport-ის სახელი (role=region). |
| overflowEdgeThreshold | number | { xStart; xEnd; yStart; yEnd } | 0 | data-overflow-* ატრიბუტების ზღვარი (Base UI). |
| ScrollBar: orientation / type / keepMounted | "vertical" | "horizontal" / "hover" | "always" / boolean | "vertical" / "hover" / false | ცალკე scrollbar საკუთარი კომპოზიციისთვის. |