About
Controlled overlay dialog with an active flag and onClose handler that locks page scroll while open. Supports center, bottom, start, end and full-screen positions with matching slide animations, custom size and padding, Modal.Title/Subtitle composition with the Dismissible utility, focus management and a transparent overlay mode for side panels.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Reshaped Modal to your project and fits it to your theme.
Code
How Reshaped Modal is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
import { Button, Reshaped, useToggle } from "reshaped/bundle";
import Modal from "@/components/ui/reshaped-modal";
function Component() {
const { active, activate, deactivate } = useToggle(false);
return (
<>
<Button onClick={activate}>Open modal</Button>
<Modal active={active} onClose={deactivate} padding={2}>
Modal content
</Modal>
</>
);
}
export default function Demo() {
return (
<Reshaped theme="slate">
<div style={{ margin: "0 auto", padding: 24, display: "flex", justifyContent: "center" }}>
<Component />
</div>
</Reshaped>
);
}








