Skip to main content

Starwind UI v3.0 beta is now available! Read the migration guide

Radio Primitive

Radio is a Starwind Runtime primitive in the single-boolean-control contract family.

Anatomy

Use the Astro primitive adapter to render Radio anatomy with the Runtime wiring included.

---
import { Radio } from "@starwind-ui/astro/radio";
---
<Radio.Root value="option-one">
<Radio.Indicator />
</Radio.Root>

API Reference

Root

The main element that owns the Radio Runtime instance.

Default element
span
Discovery hook
data-sw-radio
Role
radio

Props

Prop Type Default Toggle
checked boolean -
Description
Controls whether Radio is checked.
Kind
control
Targets
-
Full type
boolean
defaultChecked boolean false
Description
Sets whether Radio starts checked for uncontrolled usage.
Kind
control
Targets
-
Full type
boolean
disabled boolean false
Description
Disables the Root part.
Kind
option
Targets
-
Full type
boolean
form string -
Description
Associates the control with a form element.
Kind
option
Targets
-
Full type
string
id string -
Description
Sets the id used by the associated native control.
Kind
option
Targets
-
Full type
string
name string -
Description
Sets the submitted form field name.
Kind
option
Targets
-
Full type
string
nativeButton boolean false
Description
Renders the control as a native button element.
Kind
rendering
Targets
root
Full type
boolean
readOnly boolean false
Description
Marks the control as read-only.
Kind
option
Targets
-
Full type
boolean
required boolean false
Description
Marks the form control as required.
Kind
option
Targets
-
Full type
boolean
value string -
Description
Controls the current Radio value.
Kind
option
Targets
-
Full type
string
onCheckedChange (checked: boolean, details: RadioCheckedChangeDetails) => void -
Description
Runs when the Radio checked state changes.
Kind
callback
Targets
-
Full type
(checked: boolean, details: RadioCheckedChangeDetails) => void

Events

Event Callback Value Toggle
checkedChange onCheckedChange checked: boolean
Description
Fires when the checked state changes for Radio.
DOM event
starwind:checked-change
Details type
RadioCheckedChangeDetails
Timing
-
Cancelable
No

State

State Type Props Toggle
checked boolean checked / defaultChecked
Description
Tracks whether Radio is checked.
Initial attribute
data-default-checked
Runtime getter
getChecked
Runtime setter
setChecked
State control support
React supports controlled and default state with checked and defaultChecked props. Runtime/HTML reads initial state from data-default-checked, emits starwind:checked-change, and updates with setChecked. Astro adapters render initial/default state, but do not expose reactive controlled-state props for this state.

Data Attributes

Runtime hooks
Attribute Value Description
data-sw-radio - Marks the Root part so Starwind Runtime can find it.
State
Attribute Value Description
data-checked - Reflects the checked state on the Root part.
data-unchecked - Reflects the unchecked state on the Root part.
Metadata
Attribute Value Description
data-default-checked - Reflects the default checked prop on the Root part.
data-disabled - Reflects the disabled prop on the Root part.
data-form - Reflects the form prop on the Root part.
data-id - Reflects the id prop on the Root part.
data-name - Reflects the name prop on the Root part.
data-readonly - Reflects the readonly prop on the Root part.
data-required - Reflects the required prop on the Root part.
data-value - Reflects the value prop on the Root part.

Indicator

Visual state indicator rendered by Radio.

Default element
span
Discovery hook
data-sw-radio-indicator
Role
-

Props

Prop Type Default Toggle
keepMounted boolean false
Description
Keeps the Indicator part in the DOM when hidden.
Kind
rendering
Targets
indicator
Full type
boolean

Data Attributes

Runtime hooks
Attribute Value Description
data-sw-radio-indicator - Marks the Indicator part so Starwind Runtime can find it.
State
Attribute Value Description
data-unchecked - Reflects the unchecked state on the Indicator part.
Metadata
Attribute Value Description
data-keep-mounted - Reflects the keep mounted prop on the Indicator part.

Input

The native input synchronized by Radio.

Default element
input
Discovery hook
data-sw-radio-input
Role
-

Data Attributes

Runtime hooks
Attribute Value Description
data-sw-radio-input - Marks the Input part so Starwind Runtime can find it.

Runtime API

Factory
createRadio
Import
@starwind-ui/runtime/radio
Root hook
root data-sw-radio
Option props
checked, defaultChecked, disabled, form, id, name, readOnly, required, value

Runtime Setters

Method Target Description
setChecked state: checked Updates whether Radio is checked from Runtime code.
setDisabled prop: disabled Updates whether Radio is disabled from Runtime code.
setReadOnly prop: readOnly Updates whether Radio is read-only from Runtime code.
setFormOptions props: form, name, required, value Updates Radio form-related options from Runtime code.

Form Participation

FactValue
Form propsform, id, name, required, value
Hidden inputinput (radio)
Field integrationYes
Component Relationship
Radio Group Composite