reshaped

Reshaped Modal

Component 1

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 { activate, deactivate, active } = useToggle(false);
  return (
    <>
      <Button onClick={activate}>Open bottom sheet</Button>
      <Modal active={active} onClose={deactivate} position="bottom">
        Bottom sheet content
      </Modal>
    </>
  );
}

export default function Demo() {
  return (
    <Reshaped theme="slate">
      <div style={{ margin: "0 auto", padding: 24, display: "flex", justifyContent: "center" }}>
        <Component />
      </div>
    </Reshaped>
  );
}

Dependencies

More by reshaped

View all
  • Reshaped Toast

    Reshaped Toast

    9
  • Reshaped Calendar

    Reshaped Calendar

    9
  • Reshaped Progress indicator

    Reshaped Progress indicator

    7
  • Reshaped Context menu

    Reshaped Context menu

    7
  • Reshaped Checkbox

    Reshaped Checkbox

    7
  • Reshaped Autocomplete

    Reshaped Autocomplete

    7
  • Reshaped Pagination

    Reshaped Pagination

    6
  • Reshaped Carousel

    Reshaped Carousel

    6