Radio
The Radio.Item
component provides a customizable, accessible radio button input.
It must always be used inside a Radio.Root
to function correctly.
The Radio.Root
component provides the necessary context for managing grouped selections.
Usage
import { Radio } from "@harnessio/ui/components";
function Example() { const [group1Value, setGroup1Value] = React.useState("option1");
return ( <Radio.Root label="Label text" caption="Caption text" value={group1Value} onValueChange={setGroup1Value} > <Radio.Item name="group1" value="option1" label="Option 1" caption="This is option 1" /> <Radio.Item name="group1" value="option2" label="Option 2" caption="This is option 2" /> </Radio.Root> );}
Optional
The radio group can be marked as optional via the optional
prop on Radio.Root
.
If the Radio.Root
has a label, the optional indicator will appear next to the label.
If there’s no label, the optional indicator will be shown next to each individual radio item.
Disabled
The radio group can be marked as disabled via the disabled
prop on Radio.Root
, which disables all radio items within the group.
Alternatively, the disabled
prop can be passed to individual Radio.Item
to disable them selectively.
Error state
The radio group can be marked as error via the error
prop on Radio.Root
.
Orientation
The Radio.Root
component accepts an optional orientation
prop, which defines the layout direction of the radio and its group label.
Available options are horizontal
and vertical
(default).
API Reference
The Radio.Item
component must always be used inside a Radio.Root
to function correctly.
The Radio.Root
provides the necessary context for managing grouped selections.
Root
interface InformerProps extends Omit<TooltipProps, "children"> { className?: string; /** * If disabled, the tooltip will not be shown */ disabled?: boolean; iconProps?: IconPropsV2;}
Prop | Required | Default | Type |
---|---|---|---|
name | false | string | |
value | true | string | |
label | false | string | |
caption | false | string | |
disabled | false | boolean | |
className | false | string | |
wrapperClassName | false | string | |
error | false | boolean | |
optional | false | false | boolean |
informerContent | false | Exclude<ReactNode, boolean | null | undefined> | |
informerProps | false | InformerProps | |
labelSuffix | false | ReactNode | |
orientation | false | 'vertical' | 'vertical' | 'horizontal' |
Item
Prop | Required | Default | Type |
---|---|---|---|
name | false | string | |
value | true | string | |
label | false | string | |
caption | false | string | |
disabled | false | boolean | |
className | false | string |