radio — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited radio (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Radio button with animated indicator and label. Use standalone or inside RadioGroup for managed selection.
import { Radio, RadioGroup } from 'reablocks';| Prop | Type | Default | Description | ||
|---|---|---|---|---|---|
checked | boolean | — | Whether checked (standalone use; managed by RadioGroup) | ||
value | any | — | Value passed to RadioGroup on selection | ||
label | `string \ | ReactNode` | — | Label text or element | |
disabled | boolean | — | Disable the radio | ||
size | `'small' \ | 'medium' \ | 'large'` | 'medium' | Radio size |
onChange | (value: boolean) => void | — | Change handler | ||
onBlur | (event: FocusEvent) => void | — | Blur handler | ||
className | string | — | Additional CSS classes | ||
theme | RadioTheme | — | Per-instance theme override |
Renders with role="radio", aria-checked, keyboard support (Space).
const [checked, setChecked] = useState(false);
<Radio checked={checked} label="Option A" onChange={setChecked} />Manages selection across multiple Radio buttons via React Context.
| Prop | Type | Default | Description |
|---|---|---|---|
selectedValue | any | — | Currently selected value |
onChange | (value: any) => void | — | Selection change handler |
className | string | — | Container CSS classes |
children | ReactNode | — | Radio elements |
const [value, setValue] = useState('option1');
<RadioGroup selectedValue={value} onChange={setValue}>
<Radio value="option1" label="Option 1" />
<Radio value="option2" label="Option 2" />
<Radio value="option3" label="Option 3" />
</RadioGroup>When inside a RadioGroup, each Radio's checked state is determined by comparing its value to the group's selectedValue.
interface RadioTheme {
base: string;
radio: { base: string; disabled: string; checked: string };
indicator: {
base: string;
disabled: string;
sizes: { small, medium, large };
};
label: { base: string; clickable: string; checked: string; disabled: string };
sizes: { small, medium, large };
}~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.