Radio Boxes provide a styled alternative to the browser default radio buttons. They work best when making a selection between a number of short options, like shirt size abbreviations.
<div class="RadioBoxes ">
<div class="RadioBoxes-box">
<input
class="RadioBoxes-input"
type="radio"
value="Small"
name="default"
id="default-0"
>
<label class="RadioBoxes-label" for="default-0">
<span class="RadioBoxes-inner">
S
</span>
</label>
</div>
<div class="RadioBoxes-box">
<input
class="RadioBoxes-input"
type="radio"
value="Medium"
name="default"
id="default-1"
>
<label class="RadioBoxes-label" for="default-1">
<span class="RadioBoxes-inner">
M
</span>
</label>
</div>
<div class="RadioBoxes-box">
<input
class="RadioBoxes-input"
type="radio"
value="Large"
name="default"
id="default-2"
>
<label class="RadioBoxes-label" for="default-2">
<span class="RadioBoxes-inner">
L
</span>
</label>
</div>
<div class="RadioBoxes-box">
<input
class="RadioBoxes-input"
type="radio"
value="Extra Large"
name="default"
id="default-3"
>
<label class="RadioBoxes-label" for="default-3">
<span class="RadioBoxes-inner">
XL
</span>
</label>
</div>
<div class="RadioBoxes-box">
<input
class="RadioBoxes-input"
type="radio"
value="Extra Extra Large"
name="default"
id="default-4"
>
<label class="RadioBoxes-label" for="default-4">
<span class="RadioBoxes-inner">
XXL
</span>
</label>
</div>
</div>
The RadioBoxes--danger
modifier can be used to mark an invalid state.
Since this is a radio selection that usually means a required selection was not made.
You'll need to handle removing this modifier with JavaScript when a valid selection is made.
The RadioBoxes--stretch
modifier will ensure the available space is split between options and they stretch to fill the available space.
This is best used when the boxes are in a constrained space, or the option label text is long.