Yugen UI

ButtonGroup

ButtonGroup ghép các nút liền kề thành một khối điều khiển thống nhất cho những hành động cùng nhóm.

Bo góc bên trong và viền chồng nhau được gộp tự động (-ms-px theo hàng ngang, -mt-px theo cột dọc). Dùng ButtonGroupSeparator khi các nút không có viền (primary, subtle). Hoạt động cùng Button, ToggleButton và SplitButton.

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 { ButtonGroup, ButtonGroupSeparator } 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.

Hướng dọc

orientation="vertical" — thường dùng cho cặp phóng to / thu nhỏ trên bản đồ, canvas.

Vạch chia

Nút primary không có viền — thêm ButtonGroupSeparator appearance="on-brand" để tách.

Kết hợp SplitButton

SplitButton đặt trong nhóm cũng được gộp bo góc.

Cách dùng

Nên
  • Chỉ nhóm các hành động liên quan chặt chẽ (hoàn tác/làm lại, phóng to/thu nhỏ).
  • Dùng cùng appearance và size cho mọi nút trong nhóm.
  • Thêm aria-label cho nút chỉ có icon.
Không nên
  • Không nhóm quá 5 nút — cân nhắc Toolbar hoặc Menu.
  • Không trộn primary và secondary trong cùng một nhóm.

Props

Prop · KiểuMặc địnhMô tả
orientation"horizontal" | "vertical"Mặc định: "horizontal"Hướng xếp nút; bo góc và viền giữa được gộp tự động.
childrenReactNodeMặc định: —Button, ToggleButton, SplitButton, ButtonGroupSeparator.
ButtonGroupSeparator.appearance"default" | "on-brand"Mặc định: "default"on-brand khi đặt giữa các nút primary.
ButtonGroupSeparator.orientation"vertical" | "horizontal"Mặc định: "vertical"Ngược với hướng của nhóm.