# Single API

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

## Related

- https://0.vuetifyjs.com/components/providers/single
- https://0.vuetifyjs.com/components/forms/radio
- https://0.vuetifyjs.com/composables/selection/create-single
- https://0.vuetifyjs.com/components/providers/selection

## Single.Root

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:single"` | no | Namespace for dependency injection (must match SingleItem namespace) |
| `disabled` | `boolean \| undefined` | `false` | no | Disables the entire single instance |
| `enroll` | `boolean \| undefined` | `false` | no | Auto-select non-disabled items on registration |
| `mandatory` | `boolean \| "force" \| undefined` | `false` | no | Controls mandatory single behavior: - false (default): No mandatory single enforcement - true: Prevents deselecting the last selected item - `force`: Automatically selects the first non-disabled item on registration |
| `modelValue` | `T \| T[] \| undefined` | — | no | — |

### Slots

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

## Single.Item

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `id` | `string \| undefined` | — | no | Unique identifier (auto-generated if not provided) |
| `label` | `string \| undefined` | — | no | Optional display label (passed through to slot, not used in registration) |
| `value` | `V \| undefined` | — | no | Value associated with this item |
| `disabled` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Disables this specific item |
| `namespace` | `string \| undefined` | `"v0:single"` | no | Namespace for dependency injection |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `SingleItemSlotProps<V>` | — |
