Radio
Overview
The Radio component provides a Bulma-styled radio button input with flexible labels and helper classes. Use it for mutually exclusive choices in forms—either standalone or grouped (with the same name).
Import
import { Radio, Radios, Control } from '@allxsmith/bestax-bulma';
Props
| Prop | Type | Description |
|---|---|---|
disabled | boolean | Whether the radio is disabled. |
className | string | Additional CSS classes. |
children | React.ReactNode | Label/content for the radio. |
| ... | All standard <input type="radio"> and Bulma helper props | (See Helper Props) |
Usage
Mutually Exclusive Radios (Only One Can Be Selected)
This example shows how to use the Radio component for mutually exclusive choices. Assign the same name prop to each Radio in a group to ensure only one can be selected at a time. Use within a Control for proper Bulma styling.
<Control> <Radio name="mutuallyExclusive"> Yes </Radio> <Radio name="mutuallyExclusive"> No </Radio> <Radio name="mutuallyExclusive"> Maybe </Radio> </Control>
Default Selected Radio
Set the defaultChecked prop on a Radio to make it selected by default. This is useful for pre-selecting a common or recommended option in a group.
<Control> <Radio name="pet"> Cat </Radio> <Radio name="pet" defaultChecked> {' '} Dog{' '} </Radio> </Control>
Disabled Radios
Use the disabled prop to render radios that cannot be selected. This is helpful for indicating unavailable options in a group.
<Control> <Radio name="response" disabled> {' '} Attend{' '} </Radio> <Radio name="response" disabled> {' '} Decline{' '} </Radio> <Radio name="response" disabled> {' '} Tentative{' '} </Radio> </Control>
List of Radios (Grouped with the Radios Wrapper)
Render a list of radios using the Radios wrapper component. This is useful for grouping related radio buttons together, especially when they share the same name prop. In this example, all radios are disabled.
<Radios> <Radio name="event" disabled> {' '} Attend{' '} </Radio> <Radio name="event" disabled> {' '} Decline{' '} </Radio> <Radio name="event" disabled> {' '} Tentative{' '} </Radio> </Radios>
Accessibility
- Each
Radiois rendered as a<label>wrapping an<input type="radio">and the label text, for optimal accessibility. - Use the same
nameprop for a group of radios to ensure only one can be selected.
Related Components
Radios: For grouped radio buttons.Field: For labeled/grouped form fields.- Helper Props