Radio
Single-select control with labelled fields and grouped rows. Native inputs sharing a name get arrow-key navigation and single-selection for free.
Included in the single kansho full pack. Components are not offered as separate installs.
Base states
Field with subtext
The agent can read files but cannot make changes.
Disabled until an owner approves elevated scope.
Grouped rows
Single-select groupInvalid and disabled rows
Component documentation
Radio
components/ui/radio.tsxPurpose
Provides a native radio primitive plus labelled field and row compositions.
Appropriate use
Use for mutually exclusive choices within a named radio group.
Example
components/ui/radio.tsx has a representative live example in the "Base states" section on /components/radio.
States
Supports checked, unchecked, disabled, and default or error presentation.
API and props
Radio extends native radio attributes with status and ref; RadioField adds label, description, message, and className; RadioRow adds trailing content.
Dependencies
React and the Kansho cn utility.
Accessibility
Uses native radio keyboard and grouping semantics; field compositions connect visible labels and messages.
Limitations
Callers must give related radios the same name and manage group-level validation.
Source
Source: components/ui/radio.tsx.
Full pack
components/ui/radio.tsx is documented at /components/radio and installs only through the single Kansho full pack; no individual component install is offered.