Radio
This component allows users to select one option from a set
Basic Usage
import { Radio, RadioOption } from '@krakentech/coral';
<Radio name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>Properties
value
const [radioValue, setRadioValue] = useState("value-2");
<Radio value={radioValue} name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>
<Button onClick={() => setRadioValue('value-1')}>
Change Value
</Button>defaultValue
<Radio defaultValue="value-3" name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>disabled
<Radio disabled={true} name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>error / errorMessage
<Radio error errorMessage="Please select an option" name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>optional
Note: You must pass
titleto get the optional indicator to show
<Radio optional name="radio" title="Radio title">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>theme
<Radio theme="tertiary500" name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>
<Radio theme="secondary500" name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>title
<Radio title="Which option would you like?" name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>Stateless Radio
If you need to use a RadioOption without using a parent Radio wrapper, Coral provides RadioStandalone. This allows you to use a basic, contextless radio input that you can control with your own state in your consuming app, rather than relying on any states in Coral.
<RadioStandalone value="value-1">
I have no context without being given one
</RadioStandalone>Event Handlers
<Radio onChange={(event, radioValue) => {}} onBlur={() => {}} name="radio">
...
</Radio>Responsiveness
<Radio theme={{ base: 'dark', lg: 'light' }} name="radio">
<RadioOption value="value-1">Option 1</RadioOption>
<RadioOption value="value-2">Option 2</RadioOption>
<RadioOption value="value-3">Option 3</RadioOption>
</Radio>Full API
Design
What is the difference between a checkbox and a radio button?
A radio button only allows you select one option, however a checkbox allows you to select multiple items from a list of options.
Why are there two colour variations?
Our primary theme is our voltage radio button, this should be used 99% of the time. Our secondary ink variation is to be used on top of ice, commonly in payment sections.
Component breakdown
- Border: 2px
- Button colour: Voltage & Ink
- Label colour: Ice & Siphon
- Label: Body 2
Last updated on