Radio

The radio component recreates the WinUI 3 / Windows App SDK RadioButton as two collaborating components: FluereRadioGroup (the group container, managing v-model, mutual exclusivity within the group, and arrow-key navigation) and FluereRadioButton (each item). The interaction base reuses the reka-ui RadioGroup, fully reproducing arrow-key cyclic navigation / selection within the group, the brand-solid circle + white inner dot of the selected state, and a faint preview of the inner dot while pressed (the WinUI-exclusive PressedCheckGlyph).

Basic usage

v-model binds the currently selected value, and each FluereRadioButton's value determines its own value. Options within the same group are mutually exclusive; clicking any item selects exactly one.

Current: red

Basic usage

Horizontal group

By default the options stack vertically; pass orientation="horizontal" to lay them out horizontally (can be combined with flex-wrap to wrap).

Alignment: left

Horizontal layout

Disabled

Pass disabled on the group to disable it; to disable only individual items, pass disabled on the corresponding FluereRadioButton.

Entire group disabled

Individual option disabled

Disabled state

Accessibility

FluereRadioGroup carries role="radiogroup", and each item carries role="radio" + aria-checked; the arrow keys (↑↓/←→ + Home/End) navigate cyclically within the group and select in real time (reka roving focus). The visible text is already inside the button and automatically serves as the accessible name; if an item is icon-only (no readable text), provide aria-label via label; if the whole group has no visible title, pass label on FluereRadioGroup as the group's aria-label.

Form submission

When inside a <form> with name passed, a hidden native <input type="radio"> is automatically added, and the selected value is submitted with the form. It is recommended to put name on the group so the whole group submits as a single field.

API

FluereRadioGroup

PropTypeDefaultDescription
modelValueAcceptableValue—Currently selected value (v-model)
defaultValueAcceptableValue—Uncontrolled initial selection
disabledbooleanfalseWhether to disable all options in the group
orientation'vertical' | 'horizontal'verticalLayout direction
namestring—Form submission name (the whole group submits as one field)
requiredbooleanfalseGroup-level required constraint
loopbooleantrueArrow keys navigate cyclically between the first and last items
dir'ltr' | 'rtl'—Reading direction (usually no need to set)
labelstring—The group's accessible name (equivalent to aria-label)

FluereRadioButton

PropTypeDefaultDescription
valueAcceptableValue—This option's value (determines the selected state / submitted value)
disabledbooleanfalseWhether this item is disabled (layered on top of the group)
namestring—This item's form submission name (usually use the group's name)
requiredbooleanfalseRequired constraint
idstring—Native id, can be linked with an external label's for
labelstring—aria-label fallback for icon-only items

The circle is a fixed 20px diameter (corresponding to the WinUI RadioButton's circle size) and does not scale with size; the selected state is a 「brand solid circle + white inner dot」, with a faint preview of the inner dot while pressed — consistent with the WinUI RadioButton.

v0.5.0-alpha.1