# Input API

> Auto-generated API reference for `Input` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/input

## Related

- https://0.vuetifyjs.com/components/forms/input
- https://0.vuetifyjs.com/composables/forms/create-input
- https://0.vuetifyjs.com/composables/forms/create-numeric
- https://0.vuetifyjs.com/composables/forms/create-validation
- https://0.vuetifyjs.com/composables/forms/create-form
- https://0.vuetifyjs.com/components/forms/checkbox
- https://0.vuetifyjs.com/components/forms/switch

## Input.Root

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `id` | `any` | `useId()` | no | Unique identifier (auto-generated if not provided) |
| `label` | `string \| undefined` | — | no | Optional display label |
| `name` | `string \| undefined` | — | no | Form field name |
| `type` | `string \| undefined` | `"text"` | no | Input type |
| `form` | `string \| undefined` | — | no | Associate with form by ID |
| `disabled` | `MaybeRefOrGetter<boolean> \| undefined` | `false` | no | Disables this input |
| `readonly` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Makes this input readonly |
| `required` | `boolean \| undefined` | — | no | Whether this input is required |
| `rules` | `any[] \| undefined` | `[]` | no | Validation rules |
| `validateOn` | `ValidateOn \| undefined` | `"blur"` | no | When to trigger validation |
| `error` | `boolean \| undefined` | `false` | no | Manual error state override — forces invalid regardless of validation |
| `errorMessages` | `any` | — | no | Manual error messages — merged with rule-based errors |
| `namespace` | `string \| undefined` | `"v0:input:root"` | no | Namespace for context provision to children |
| `formNamespace` | `string \| undefined` | `"v0:form"` | no | Namespace for connecting to parent Form. Must match Form's namespace. |
| `modelValue` | `string \| undefined` | `""` | no | — |
| `focused` | `boolean \| undefined` | `false` | no | — |

### Events

| Name | Type | Description |
|---|---|---|
| `update:focused` | `unknown[]` | — |
| `update:model-value` | `[value: string]` | — |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `InputRootSlotProps` | — |

## Input.Control

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:input:root"` | no | — |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `InputControlSlotProps` | — |

## Input.Description

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `id` | `string \| undefined` | `useId()` | no | Unique identifier (auto-generated if not provided) |
| `namespace` | `string \| undefined` | `"v0:input:root"` | no | Namespace for connecting to parent Input.Root |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `InputDescriptionSlotProps` | — |

## Input.Error

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `id` | `string \| undefined` | `useId()` | no | Unique identifier (auto-generated if not provided) |
| `namespace` | `string \| undefined` | `"v0:input:root"` | no | Namespace for connecting to parent Input.Root |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `InputErrorSlotProps` | — |
