mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-29 15:44:22 +00:00
32 lines
952 B
TypeScript
32 lines
952 B
TypeScript
"use client"
|
|
|
|
import { forwardRef } from "react"
|
|
import { Drawer as DrawerPrimitive } from "vaul"
|
|
|
|
import { cn } from "@/lib/utils"
|
|
|
|
const DrawerTrigger = DrawerPrimitive.Trigger
|
|
|
|
const DrawerContent = forwardRef<
|
|
React.ElementRef<typeof DrawerPrimitive.Content>,
|
|
React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>
|
|
>(({ className, children, ...props }, ref) => (
|
|
<DrawerPrimitive.Portal>
|
|
<DrawerPrimitive.Overlay className="fixed inset-0 z-50 bg-black/80" />
|
|
<DrawerPrimitive.Content
|
|
ref={ref}
|
|
className={cn(
|
|
"fixed inset-x-0 bottom-0 z-50 mt-24 h-[96%] rounded-t-[10px] bg-background",
|
|
className
|
|
)}
|
|
{...props}
|
|
>
|
|
<div className="absolute left-1/2 top-3 h-2 w-[100px] translate-x-[-50%] rounded-full bg-muted" />
|
|
{children}
|
|
</DrawerPrimitive.Content>
|
|
</DrawerPrimitive.Portal>
|
|
))
|
|
DrawerContent.displayName = "DrawerContent"
|
|
|
|
export { DrawerTrigger, DrawerContent }
|