# [Usage](../../../usage.md) > [Components](../basics.md) > [Visuals](../basics.md) > Buttons Group

Clustered action menu grouping several [Buttons](button.md) under one dropdown trigger. Use it when a row or card needs multiple related actions (start/stop, edit/delete) but space is tight; use a single Button for one primary action and a [Modal](modal.md) trigger when the action needs a confirmation form.

![image](img/button_group_1.png)

```php
{!!
    \KFramework\Components\Visual\ButtonsGroup::make('Actions')
        ->setType('primary')
        ->setPreIcon('cog')
        ->setSchema([
            \KFramework\Components\Visual\Button::make('Start')
                ->setType('badge')
                ->setColor('success')
                ->setPreIcon('play'),
            \KFramework\Components\Visual\Button::make('Stop')
                ->setType('badge')
                ->setColor('danger')
                ->setPreIcon('stop')
        ])
!!}
```

**End-to-end example:** row actions for a user record.
```php
// Blade:
{!!
    \KFramework\Components\Visual\ButtonsGroup::make('User actions')
        ->setType('primary')
        ->setPreIcon('cog')
        ->setSchema([
            \KFramework\Components\Visual\Button::make('View')->setUrl('/users/1'),
            \KFramework\Components\Visual\Button::make('Delete')->setType('danger')->setOnClick("resourceDelete(1)"),
        ])
!!}

// Controller:
use KFramework\Components\Visual\Button;
use KFramework\Components\Visual\ButtonsGroup;

$actions = ButtonsGroup::make('User actions')
    ->setType('primary')
    ->setSchema([
        Button::make('View')->setUrl('/users/1'),
        Button::make('Delete')->setType('danger'),
    ]);

return view('users.index', compact('actions'));
```

---
## Usage

- Blade:
```php
{!! \KFramework\Components\Visual\ButtonsGroup::make() !!}
```
- Controller:
```php
ButtonsGroup::make()
```

---
## Standard attributes

- `uuid`
- `id`
- `classes`
- `extraAttributes`
- `name` | `label`
  - Setting the name will set the label of the button, `name` overrides `label`.
- `type`: Set type of the button and its color, except for the badge button. Allowed types:
  - `primary`
  - `secondary`
  - `badge`
  - `success`
  - `warning`
  - `danger`  
    Default is `secondary`
- `disabled`
- `hidden`
- `small`
- `preIcon`
- `postIcon`
- `columnSpan`
- `schema` — list of `Button` components rendered inside the dropdown.

See their usage and description [here](../basics.md).

---
## Component-specific attributes

### - `color` | `->setColor()`
Used to set the color for the `badge` button, allowed colors:
- `primary`
- `secondary`
- `success`
- `warning`
- `danger`

| Types    | Default     |
|----------|-------------|
| `string` | `secondary` |

## See also
- [Components basics](../basics.md)
- [Button](button.md), [Modal](modal.md), [Table](table.md)
- [schema](../shared_attributes/schema.md), [type](../shared_attributes/type.md), [label](../shared_attributes/label.md)
