# RadioGroupProps

Source: /tuil/docs/reference/components/forms/radio-group-props
Locale: en

RadioGroupProps component contract.



{/* Generated by tooling/docs/generate-reference.ts. */}

## Type [#type]

```ts
export interface RadioGroupProps<T extends string = string>
  extends CommonComponentProps {
  readonly options: readonly SelectOption<T>[];
  readonly value?: T;
  readonly defaultValue?: T;
  readonly onValueChange?: (value: T) => void | Promise<void>;
  readonly field?: AdaptedTanStackField<T | undefined>;
  readonly validators?: FieldValidators<T | undefined>;
  readonly onBlur?: () => void | Promise<void>;
  readonly orientation?: "horizontal" | "vertical";
  readonly autoFocus?: boolean;
}
```

## Members [#members]

| Member          | Type                                                                             | Required | Description                                                                                                             | Related types                                                                       |
| --------------- | -------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `options`       | `readonly SelectOption<T>[]`                                                     | Yes      | The `options` member uses the `readonly SelectOption<T>[]` contract.                                                    | —                                                                                   |
| `value`         | `T \| undefined`                                                                 | No       | The `value` member uses the `T \| undefined` contract.                                                                  | —                                                                                   |
| `defaultValue`  | `T \| undefined`                                                                 | No       | The `defaultValue` member uses the `T \| undefined` contract.                                                           | —                                                                                   |
| `onValueChange` | `((value: T) => void \| Promise<void>) \| undefined`                             | No       | The `onValueChange` member uses the `((value: T) => void \| Promise<void>) \| undefined` contract.                      | —                                                                                   |
| `field`         | `AdaptedTanStackField<T \| undefined> \| undefined`                              | No       | The `field` member uses the `AdaptedTanStackField<T \| undefined> \| undefined` contract.                               | [`AdaptedTanStackField`](/tuil/docs/reference/packages/form/api/adapted-tan-stack-field) |
| `validators`    | `FieldValidators<T \| undefined> \| undefined`                                   | No       | The `validators` member uses the `FieldValidators<T \| undefined> \| undefined` contract.                               | [`FieldValidators`](/tuil/docs/reference/packages/form/api/field-validators)             |
| `onBlur`        | `(() => void \| Promise<void>) \| undefined`                                     | No       | The `onBlur` member uses the `(() => void \| Promise<void>) \| undefined` contract.                                     | —                                                                                   |
| `orientation`   | `"horizontal" \| "vertical" \| undefined`                                        | No       | The `orientation` member uses the `"horizontal" \| "vertical" \| undefined` contract.                                   | —                                                                                   |
| `autoFocus`     | `boolean \| undefined`                                                           | No       | The `autoFocus` member uses the `boolean \| undefined` contract.                                                        | —                                                                                   |
| `variant`       | `string \| undefined`                                                            | No       | The `variant` member uses the `string \| undefined` contract.                                                           | —                                                                                   |
| `size`          | `"sm" \| "md" \| "lg" \| undefined`                                              | No       | The `size` member uses the `"sm" \| "md" \| "lg" \| undefined` contract.                                                | —                                                                                   |
| `unstyled`      | `boolean \| undefined`                                                           | No       | The `unstyled` member uses the `boolean \| undefined` contract.                                                         | —                                                                                   |
| `className`     | `string \| undefined`                                                            | No       | The `className` member uses the `string \| undefined` contract.                                                         | —                                                                                   |
| `layout`        | `Partial<Omit<LayoutNodeInput, "id" \| "children" \| "semantics">> \| undefined` | No       | The `layout` member uses the `Partial<Omit<LayoutNodeInput, "id" \| "children" \| "semantics">> \| undefined` contract. | —                                                                                   |
| `id`            | `string \| undefined`                                                            | No       | The `id` member uses the `string \| undefined` contract.                                                                | —                                                                                   |
| `testId`        | `string \| undefined`                                                            | No       | The `testId` member uses the `string \| undefined` contract.                                                            | —                                                                                   |
| `role`          | `SemanticRole \| undefined`                                                      | No       | The `role` member uses the `SemanticRole \| undefined` contract.                                                        | [`SemanticRole`](/tuil/docs/reference/packages/core/api/semantic-role)                   |
| `label`         | `string \| undefined`                                                            | No       | The `label` member uses the `string \| undefined` contract.                                                             | —                                                                                   |
| `description`   | `string \| undefined`                                                            | No       | The `description` member uses the `string \| undefined` contract.                                                       | —                                                                                   |
| `disabled`      | `boolean \| undefined`                                                           | No       | The `disabled` member uses the `boolean \| undefined` contract.                                                         | —                                                                                   |
| `readOnly`      | `boolean \| undefined`                                                           | No       | The `readOnly` member uses the `boolean \| undefined` contract.                                                         | —                                                                                   |
| `selected`      | `boolean \| undefined`                                                           | No       | The `selected` member uses the `boolean \| undefined` contract.                                                         | —                                                                                   |
| `checked`       | `boolean \| undefined`                                                           | No       | The `checked` member uses the `boolean \| undefined` contract.                                                          | —                                                                                   |
| `expanded`      | `boolean \| undefined`                                                           | No       | The `expanded` member uses the `boolean \| undefined` contract.                                                         | —                                                                                   |
| `valueText`     | `string \| undefined`                                                            | No       | The `valueText` member uses the `string \| undefined` contract.                                                         | —                                                                                   |

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/registry/forms/controls.tsx)
