Skip to content

Radio

Single choice, all options visible. Renders as a radio group inside a fieldset with the prompt as its legend. Once a respondent picks an option there is no way back to “no selection” — use a Dropdown (which has a clear button) if unselecting matters.

An ordered list of options, edited with add / move / delete controls. Each option needs a non-empty label; the editor warns (without blocking) when there are fewer than two.

"typeConfig": { "options": [
{ "id": "opt-1", "label": "Cake" },
{ "id": "opt-2", "label": "Ice cream" }
] }

The selected option’s label as a string:

{ "dessert": "Cake" }

The option id exists only in the definition — stored data and rules use the label, so responses read naturally without a lookup table. The corollary: relabeling an option after responses exist changes what new answers store, so treat labels with the same care as question codes.

Answered: a non-empty string is stored.

equals, not equals, compared against option labels — the rule builder offers the labels in a dropdown. Unanswered matches neither.