Radio
Single-select input with group and card variants.
Basic
Group header
Set label, sublabel, and description on the group to introduce the choices.
Pick the region closest to most of your users.
Per-option detail
Each :radio slot accepts its own sublabel and description.
Friendly desktop and server distribution with long-term support releases.
Composed entirely of free and open-source software with a conservative release cycle.
Tracks upstream releases closely, ideal for developers who want the latest tooling.
Horizontal layout
The class attribute styles the option container; apply flex utilities to lay options out in a row.
Default selection
Set checked on a slot to mark it selected when the group has no value bound.
Disabled
Set disabled on the group to lock every option, or on a single :radio slot to lock just one.
Form integration
Pass field to bind a Phoenix.HTML.FormField; the component derives id, name, value, and validation errors from it.
Errors
Pass errors to render validation messages beneath the group, or rely on field to forward changeset errors.
Pick a distribution to continue
Card variant
Set variant="card" to render each option as a bordered surface that highlights when selected.
You can change plans at any time.
For solo developers shipping serious work.
Collaboration features for growing teams.
Card grid
Combine the card variant with a grid class to lay options out in columns.
Select the number of CPUs for this instance.
Control position
Set control="left" to place the radio before the label, or control="right" to place it after.
Component-based UI library
Progressive JavaScript framework
Compile-time reactive framework
Productive Elixir web framework
Ruby's batteries-included framework
Python's pragmatic web framework
Custom card content
Pass an inner block to the :radio slot to replace the default label with custom markup like icons or stacked text.
Pill picker
Omit control on the card variant so the entire surface reflects the checked state, with no visible radio dot.