Skip to Content
Puzzle

Radio Group

Choose one option from a labelled group.

Import

import { RadioGroup, Radio } from "@puzzle-ui/ui";

Selection and orientation

Render Radio inside RadioGroup; every option needs a unique value. name enables native form submission and required validation.

390 × 420

API

RadioGroup

PropTypeDefaultDescription
childrenReactNodeRequiredRadio options.
valuestring | null-Controlled selection; null is empty.
defaultValuestring-Initial uncontrolled selection.
onValueChange(value: string) => void-Selected option value.
label, descriptionReactNode-Group legend and supporting text.
errorReactNode | boolean-Validation message.
invalidbooleanError-derivedExplicit invalid state.
namestring-Shared native input name.
required, disabledbooleanfalseGroup state.
orientation"horizontal" | "vertical""vertical"Layout direction.
size"sm" | "md" | "lg""md"Option size.
dir"ltr" | "rtl"-Keyboard text direction.
loopbooleantrueWrap keyboard navigation.

Radio

PropTypeDefaultDescription
valuestringRequiredUnique option identifier.
label, childrenReactNode-Option label; label wins.
descriptionReactNode-Option supporting text.
disabledbooleanfalseDisables this option.

Group props extend native fieldset attributes. Radio forwards supported input props and refs; className/style target its label. Arrow keys select enabled options; Home/End reach the boundaries.

;