Beautifully designed Modal Component built with Radix UI and Tailwind CSS.

Click the button below to present a modal. You can also click outside the modal to dismiss it.

<Sheet />

To define a declarative Sheet.

import { useState } from "react"
import { PresentSheet } from "~/sheet"

import { Button } from "@/components/ui/button"

export const MySheet = () => {
  const [open, setOpen] = useState(false)
  return (
    <>
      <Button
        onClick={() => {
          setOpen(true)
        }}
      >
        Open Sheet
      </Button>
      <PresentSheet
        open={open}
        onOpenChange={setOpen}
        content={<div>Sheet Content</div>}
      />
    </>
  )
}

PresentSheetProps

nametypeoptionaldefaultdescription
contentReactNode | FC<{}>falsen/a
openboolean | undefinedtruen/a
onOpenChange((value: boolean) => void) | undefinedtruen/a
titlestring | undefinedtruen/a
zIndexnumber | undefinedtruen/a
dismissibleboolean | undefinedtruen/a
defaultOpenboolean | undefinedtruen/a