<!-- Generated by npm run gen:skill from ui/Radio/skill.md - do not edit. -->

# Radio

## `<radio>`

- `value`, `post-text`, `pre-text`, `selected`, `error-message`, `warning-message`, `success-message`
- actions: error, release, select, success, valid, warning
- events: Release, Select

```xml
<panel type="rows" padding="5">
  <group name="group1" label="Pick a number" mode="mutex">
    <radio name="radio1" post-text="One" value="1" selected="true"/>
    <radio name="radio2" post-text="Two" value="2"/>
    <radio name="radio3" pre-text="Three" value="3"/>
  </group>
</panel>
```

## Guidance

- Radios are direct children of a `group mode="mutex"` with a `name` (without it the arrow keys don't move between them) and a `label` (the radiogroup's name). Trigger on the group's Select and read `{#v#group}`: the chosen radio's `value`. Bind the group, not the radios.
- Each radio has a `value` and `post-text`; start with `selected="true"` or the group's `value` (a radio's name).
- Stacked radios: `type="row"` and `style="line-height: 24px"` on the group.
