About
One-time-code input rendering separate character cells backed by a single native input with caret syncing. Supports controlled and uncontrolled values, configurable length, numeric/alphabetic/alphanumeric patterns, four sizes, a faded variant and FormControl integration for labels.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Reshaped Pin field to your project and fits it to your theme.
Code
How Reshaped Pin field is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { Reshaped } from "reshaped/bundle";
import PinField from "@/components/ui/reshaped-pin-field";
export default function Demo() {
return (
<Reshaped theme="slate">
<div style={{ margin: "0 auto", padding: 24, display: "flex", justifyContent: "center" }}>
<PinField name="pin" pattern="alphabetic" defaultValue="ab" />
</div>
</Reshaped>
);
}
















