Current section

Files

Jump to
noora docs components buttongroup.md
Raw

docs/components/buttongroup.md

<!-- Generated by scripts/generate-web-components.js. Do not edit directly. -->
# ButtonGroup
Groups related controls into a compact segmented surface.
```html
<noora-button-group>
<noora-button-group-item value="day">Day</noora-button-group-item>
<noora-button-group-item value="week">Week</noora-button-group-item>
</noora-button-group>
```
## Attributes
| Attribute | Type or allowed values | Default | Description |
| --- | --- | --- | --- |
| `size` | `small`, `medium`, `large` | `"medium"` | Controls child dimensions. |
## Properties
| Property | Type or allowed values | Default | Description |
| --- | --- | --- | --- |
| `items` | `Array<Record<string, unknown>>` | `[]` | Defines group items programmatically when declarative noora-button-group-item children are not used. |
## Events
| Event | Type | Description |
| --- | --- | --- |
| `noora-select` | `CustomEvent<{ index: number; item: Record<string, unknown>; value: unknown }>` | Emitted when an enabled group item is selected. |
## Slots
| Slot | Description |
| --- | --- |
| `default` | Declarative noora-button-group-item children. |
## Styling parts
| Part | Description |
| --- | --- |
| `group` | The group container. |
Use noora-button-group-item children for declarative groups.
The items property remains available for data-driven rendering.
## Sizes
Button groups range from small to large.
```html
<noora-button-group size="small">
<noora-button-group-item>First</noora-button-group-item>
<noora-button-group-item>Second</noora-button-group-item>
<noora-button-group-item>Third</noora-button-group-item>
</noora-button-group>
<noora-button-group size="medium">
<noora-button-group-item>First</noora-button-group-item>
<noora-button-group-item>Second</noora-button-group-item>
<noora-button-group-item>Third</noora-button-group-item>
</noora-button-group>
<noora-button-group size="large">
<noora-button-group-item>First</noora-button-group-item>
<noora-button-group-item>Second</noora-button-group-item>
<noora-button-group-item>Third</noora-button-group-item>
</noora-button-group>
```
## Icon configurations
Compare labeled controls with icons, icon-only controls, and a mixture of both.
```html
<noora-button-group size="medium">
<noora-button-group-item icon-left="chevron_left">Previous</noora-button-group-item>
<noora-button-group-item icon-left="chevron_left" icon-right="chevron_right">Both</noora-button-group-item>
<noora-button-group-item icon-right="chevron_right">Next</noora-button-group-item>
</noora-button-group>
<noora-button-group size="medium">
<noora-button-group-item icon="chevron_left" icon-only aria-label="Previous"></noora-button-group-item>
<noora-button-group-item icon="chevron_right" icon-only aria-label="Next"></noora-button-group-item>
</noora-button-group>
<noora-button-group size="medium">
<noora-button-group-item icon="chevron_left" icon-only aria-label="Previous"></noora-button-group-item>
<noora-button-group-item>Page 1</noora-button-group-item>
<noora-button-group-item>Page 2</noora-button-group-item>
<noora-button-group-item icon="chevron_right" icon-only aria-label="Next"></noora-button-group-item>
</noora-button-group>
```
## States
Compare a partially disabled group with a fully disabled group.
```html
<noora-button-group size="medium">
<noora-button-group-item>Available</noora-button-group-item>
<noora-button-group-item disabled>Disabled</noora-button-group-item>
<noora-button-group-item>Available</noora-button-group-item>
</noora-button-group>
<noora-button-group size="medium">
<noora-button-group-item disabled>First</noora-button-group-item>
<noora-button-group-item disabled>Second</noora-button-group-item>
<noora-button-group-item disabled>Third</noora-button-group-item>
</noora-button-group>
```
## Practical examples
Use groups for pagination controls and view switching.
```html
<noora-button-group size="medium">
<noora-button-group-item icon="chevron_left" icon-only aria-label="Previous"></noora-button-group-item>
<noora-button-group-item selected>1</noora-button-group-item>
<noora-button-group-item>2</noora-button-group-item>
<noora-button-group-item>3</noora-button-group-item>
<noora-button-group-item icon="chevron_right" icon-only aria-label="Next"></noora-button-group-item>
</noora-button-group>
<noora-button-group size="small">
<noora-button-group-item selected>List</noora-button-group-item>
<noora-button-group-item>Grid</noora-button-group-item>
<noora-button-group-item>Card</noora-button-group-item>
</noora-button-group>
```