Button Group

Group related buttons together with connected styling.

Text Alignment

1const [alignment, setAlignment] = useState("left");
2
3<ButtonGroup>

Text Formatting

1const [formatting, setFormatting] = useState<string[]>([]);
2
3const toggleFormatting = (format: string) => {

Variants

Default
Outline
Ghost
1<ButtonGroup variant="default">...</ButtonGroup>
2<ButtonGroup variant="outline">...</ButtonGroup>
3<ButtonGroup variant="ghost">...</ButtonGroup>

Sizes

Small
Medium
Large
1<ButtonGroup size="sm">...</ButtonGroup>
2<ButtonGroup size="md">...</ButtonGroup>
3<ButtonGroup size="lg">...</ButtonGroup>

Vertical Orientation

1<ButtonGroup orientation="vertical">
2 <ButtonGroup.Item isActive={listType === "bullet"} onClick={() => setListType("bullet")}>
3 <List className="w-4 h-4" />

Practical Examples

1<ButtonGroup>
2 <ButtonGroup.Item>Previous</ButtonGroup.Item>
3 <ButtonGroup.Item>1</ButtonGroup.Item>

Installation

npx zeroui@latest add button-group

ButtonGroup Props

Props

nametypedefaultdescription
variant"default" | "outline" | "ghost""default"-
size"sm" | "md" | "lg""md"-
orientation"horizontal" | "vertical""horizontal"-
childrenReactNode--
classNamestring""-

ButtonGroup.Item Props

Props

nametypedefaultdescription
isActivebooleanfalse-
childrenReactNode--
classNamestring""-
disabledbooleanfalse-