Files
a37f030d-6e8a-4f3d-9f23-1ce…/research/replit/drawer.md
vitalijmulika fb5d40bc69 Initial commit
2026-04-29 13:20:41 +03:00

2.9 KiB

import * as React from "react" import { Drawer as DrawerPrimitive } from "vaul"

import { cn } from "@/lib/utils"

const Drawer = ({ shouldScaleBackground = true, ...props }: React.ComponentProps) => ( <DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} /> ) Drawer.displayName = "Drawer"

const DrawerTrigger = DrawerPrimitive.Trigger

const DrawerPortal = DrawerPrimitive.Portal

const DrawerClose = DrawerPrimitive.Close

const DrawerOverlay = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef

(({ className, ...props }, ref) => ( <DrawerPrimitive.Overlay ref={ref} className={cn("fixed inset-0 z-50 bg-black/80", className)} {...props} /> )) DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName

const DrawerContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef

(({ className, children, ...props }, ref) => ( <DrawerPrimitive.Content ref={ref} className={cn( "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background", className )} {...props} >

{children} </DrawerPrimitive.Content> )) DrawerContent.displayName = "DrawerContent"

const DrawerHeader = ({ className, ...props }: React.HTMLAttributes) => (

) DrawerHeader.displayName = "DrawerHeader"

const DrawerFooter = ({ className, ...props }: React.HTMLAttributes) => (

) DrawerFooter.displayName = "DrawerFooter"

const DrawerTitle = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef

(({ className, ...props }, ref) => ( <DrawerPrimitive.Title ref={ref} className={cn( "text-lg font-semibold leading-none tracking-tight", className )} {...props} /> )) DrawerTitle.displayName = DrawerPrimitive.Title.displayName

const DrawerDescription = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef

(({ className, ...props }, ref) => ( <DrawerPrimitive.Description ref={ref} className={cn("text-sm text-muted-foreground", className)} {...props} /> )) DrawerDescription.displayName = DrawerPrimitive.Description.displayName

export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, }