Scroll Area
ScrollArea thay thanh cuộn mặc định của trình duyệt bằng thanh cuộn mảnh kiểu Fluent, chỉ hiện khi rê chuột.
Dựa trên Radix Scroll Area nên vẫn giữ cuộn gốc (bánh xe, cảm ứng, bàn phím). orientation chọn thanh cuộn dọc, ngang hoặc cả hai.
Import
Cài từ npm, chép mã nguồn vào dự án bằng @yugen-ui/cli hoặc shadcn CLI, hoặc import thẳng khi làm việc trong repo này.
TSX
// npm install yugen-uiimport { ScrollArea, ScrollBar } from "yugen-ui";Biến thể
Mỗi ô là một mẫu độc lập: hover để Copy, hoặc bấm Code để xem mã nguồn.
Ngang
orientation="horizontal" cho dải thẻ / ảnh.
Cả hai chiều
orientation="both" cho lưới lớn hơn khung.
Cách dùng
Nên
- Đặt chiều cao / rộng cố định cho ScrollArea để vùng cuộn rõ ràng.
- Dùng cho panel, danh sách dài trong bề mặt nhỏ (Popover, Card, Drawer).
Không nên
- Không bọc cả trang trong ScrollArea — để trình duyệt cuộn trang.
- Không lồng nhiều vùng cuộn cùng chiều trong nhau.
Props
| Prop · Kiểu | Mặc định | Mô tả |
|---|---|---|
| orientation"vertical" | "horizontal" | "both" | Mặc định: "vertical" | Thanh cuộn hiển thị. |
| type"hover" | "scroll" | "auto" | "always" | Mặc định: "hover" | Khi nào hiện thanh cuộn (Radix). |
| viewportClassNamestring | Mặc định: — | Class cho viewport bên trong. |
| ScrollBar | Mặc định: "vertical" | Dùng khi tự ghép Radix primitive. |