field — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited field (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.
Form field wrapper with label, hint text, error state, required indicator, and horizontal/vertical layout. Use to wrap any form input.
import { Field } from 'reablocks';| Prop | Type | Default | Description | ||
|---|---|---|---|---|---|
label | `ReactNode \ | string` | — | Field label | |
required | boolean | — | Show * after label | ||
direction | `'vertical' \ | 'horizontal'` | 'vertical' | Layout direction | |
alignment | `'start' \ | 'center' \ | 'end'` | 'start' | Label alignment |
hint | ReactNode | — | Hint text below input (hidden when error shown) | ||
error | `boolean \ | ReactNode` | — | Error state (true for styling only, string/node for message) | |
disableMargin | boolean | — | Remove bottom margin | ||
className | string | — | Container CSS classes | ||
labelClassName | string | — | Label CSS classes | ||
onTitleClick | (event: MouseEvent) => void | — | Label click handler | ||
theme | FieldTheme | — | Per-instance theme override |
Also accepts all standard <section> HTML attributes.
<Field label="Username">
<Input placeholder="Enter username" />
</Field><Field label="Email" hint="We'll never share your email">
<Input type="email" />
</Field><Field label="Password" error="Password must be at least 8 characters">
<Input type="password" error />
</Field><Field label="Name" required>
<Input />
</Field><Field label="Status" direction="horizontal">
<Toggle checked={active} onChange={setActive} />
</Field>interface FieldTheme {
base: string; // Container (mb-2.5)
disableMargin: string;
label: string; // Label (text-sm)
centerAlign: string;
endAlign: string;
horizontal: {
base: string; // Flex row, items-baseline
label: string; // Right margin, nowrap
content: string; // flex-1, min-w-0
};
vertical: {
base: string; // Block
label: string; // Block, mb-0.5
};
hint: string; // Hint text (text-xs, text-secondary, mt-1)
error: string; // Error text (text-xs, text-error, mt-1)
errorState: string; // Error state on container
}~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.