Components
Button Group
Groups related buttons together with consistent styling.
php artisan blatui:add button-group
<x-ui.button-group>
<x-ui.button variant="outline">Previous</x-ui.button>
<x-ui.button variant="outline">Next</x-ui.button>
</x-ui.button-group>
Nested
<x-ui.button-group>
<x-ui.button-group>
<x-ui.button variant="outline" size="icon" aria-label="Undo"><x-lucide-undo-2 aria-hidden="true" /></x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="Redo"><x-lucide-redo-2 aria-hidden="true" /></x-ui.button>
</x-ui.button-group>
<x-ui.button-group>
<x-ui.button variant="outline" size="icon" aria-label="Bold"><x-lucide-bold aria-hidden="true" /></x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="Italic"><x-lucide-italic aria-hidden="true" /></x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="Underline"><x-lucide-underline aria-hidden="true" /></x-ui.button>
</x-ui.button-group>
</x-ui.button-group>
Solid
{{-- Connected solid buttons with subtle dividers — a segmented control. --}}
<x-ui.button-group class="*:not-last:border-r *:not-last:border-r-primary-foreground/25">
<x-ui.button>Day</x-ui.button>
<x-ui.button>Week</x-ui.button>
<x-ui.button>Month</x-ui.button>
</x-ui.button-group>
Split
<x-ui.button-group>
<x-ui.button variant="outline"><x-lucide-save aria-hidden="true" /> Save</x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="More save options">
<x-lucide-chevron-down aria-hidden="true" />
</x-ui.button>
</x-ui.button-group>
Vertical
<x-ui.button-group orientation="vertical">
<x-ui.button variant="outline"><x-lucide-archive aria-hidden="true" /> Archive</x-ui.button>
<x-ui.button variant="outline"><x-lucide-flag aria-hidden="true" /> Report</x-ui.button>
<x-ui.button variant="outline"><x-lucide-trash-2 aria-hidden="true" /> Delete</x-ui.button>
</x-ui.button-group>
With Icon
<x-ui.button-group>
<x-ui.button variant="outline" size="icon" aria-label="Align left">
<x-lucide-align-left />
</x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="Align center">
<x-lucide-align-center />
</x-ui.button>
<x-ui.button variant="outline" size="icon" aria-label="Align right">
<x-lucide-align-right />
</x-ui.button>
</x-ui.button-group>
With Separator
<x-ui.button-group>
<x-ui.button variant="secondary">Copy</x-ui.button>
<x-ui.button-group-separator orientation="vertical" />
<x-ui.button variant="secondary">Paste</x-ui.button>
</x-ui.button-group>
With Text
<x-ui.button-group>
<x-ui.button-group-text>https://</x-ui.button-group-text>
<x-ui.input placeholder="example.com" class="rounded-l-none" />
</x-ui.button-group>
API Reference
Props, slots and exposed methods for
<x-ui.button-group>.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
orientation |
string
|
'horizontal'
|
Lay the buttons out in a row or a column. Adjacent corners and borders are collapsed so the group reads as one connected control.
horizontal
vertical
|
Slots
| Slot | Description |
|---|---|
default |
The buttons (or other controls like selects and nested button-groups) to join. Place sibling x-ui.button elements here; their touching edges are merged automatically. |