# InputGroup
An Input or Textarea with icons, text and buttons inside one box.
```ehtml Example
import {
InputGroup, InputGroupAddon, InputGroupText, InputGroupButton,
} from "@elements/ui/input-group";
import { Input } from "@elements/ui/input";
import { Icon } from "@elements/ui/icon";
run(state)}>Search
```
## Parts
| Part | What it is |
|---|---|
| `InputGroupAddon` | A region before, after, above or below the control. |
| `InputGroupText` | Muted text or an icon in an addon. |
| `InputGroupButton` | A button sized for the box. |
| `.input-group` | The box: it draws the border, focus ring and invalid state for the control inside. |
## Attributes
### InputGroup
| Attribute | Type | Default | Description |
|---|---|---|---|
| `disabled` | `boolean` | `false` | Disables the control and every button in the group, and dims the addons. Turning it off re-enables only what the group disabled. |
| `class` | `string` | `""` | Extra classes on the box. |
| `attrs` | `Record` | `{}` | aria-label, data-\* for the box. |
### InputGroupAddon
| Attribute | Type | Default | Description |
|---|---|---|---|
| `align` | `"inline-start" \| "inline-end" \| "block-start" \| "block-end"` | `"inline-start"` | Where the addon sits: before, after, above or below the control. |
| `bordered` | `boolean` | `false` | A rule between a block addon and the control. |
| `class` | `string` | `""` | Extra classes. |
### InputGroupButton
| Attribute | Type | Default | Description |
|---|---|---|---|
| `variant` | `"primary" \| "secondary" \| "outline" \| "ghost" \| "link" \| "danger"` | `"ghost"` | Button variant. |
| `size` | `"xs" \| "sm" \| "icon-xs" \| "icon-sm"` | `"xs"` | Sized to fit inside the box. |
| `type` | `"button" \| "submit" \| "reset"` | `"button"` | Form behavior. |
| `label` | `string` | `""` | Accessible name; required for icon sizes. |
| `disabled` | `boolean` | `false` | Native disabled. |
| `attrs` | `Record` | `{}` | Attributes for the `