{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "components-radix-sheet",
  "title": "Sheet",
  "description": "Extends the Dialog component to display content that complements the main content of the screen.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "@animate-ui/v1/primitives-radix-sheet"
  ],
  "files": [
    {
      "path": "registry/components/radix/sheet/index.tsx",
      "content": "import * as React from 'react';\n\nimport {\n  Sheet as SheetPrimitive,\n  SheetTrigger as SheetTriggerPrimitive,\n  SheetOverlay as SheetOverlayPrimitive,\n  SheetClose as SheetClosePrimitive,\n  SheetPortal as SheetPortalPrimitive,\n  SheetContent as SheetContentPrimitive,\n  SheetHeader as SheetHeaderPrimitive,\n  SheetFooter as SheetFooterPrimitive,\n  SheetTitle as SheetTitlePrimitive,\n  SheetDescription as SheetDescriptionPrimitive,\n  type SheetProps as SheetPrimitiveProps,\n  type SheetTriggerProps as SheetTriggerPrimitiveProps,\n  type SheetOverlayProps as SheetOverlayPrimitiveProps,\n  type SheetCloseProps as SheetClosePrimitiveProps,\n  type SheetContentProps as SheetContentPrimitiveProps,\n  type SheetHeaderProps as SheetHeaderPrimitiveProps,\n  type SheetFooterProps as SheetFooterPrimitiveProps,\n  type SheetTitleProps as SheetTitlePrimitiveProps,\n  type SheetDescriptionProps as SheetDescriptionPrimitiveProps,\n} from '@/components/animate-ui/primitives/radix/sheet';\nimport { cn } from '@/lib/utils';\nimport { XIcon } from 'lucide-react';\n\ntype SheetProps = SheetPrimitiveProps;\n\nfunction Sheet(props: SheetProps) {\n  return <SheetPrimitive {...props} />;\n}\n\ntype SheetTriggerProps = SheetTriggerPrimitiveProps;\n\nfunction SheetTrigger(props: SheetTriggerProps) {\n  return <SheetTriggerPrimitive {...props} />;\n}\n\ntype SheetOverlayProps = SheetOverlayPrimitiveProps;\n\nfunction SheetOverlay({ className, ...props }: SheetOverlayProps) {\n  return (\n    <SheetOverlayPrimitive\n      className={cn('fixed inset-0 z-50 bg-black/50', className)}\n      {...props}\n    />\n  );\n}\n\ntype SheetCloseProps = SheetClosePrimitiveProps;\n\nfunction SheetClose(props: SheetCloseProps) {\n  return <SheetClosePrimitive {...props} />;\n}\n\ntype SheetContentProps = SheetContentPrimitiveProps & {\n  showCloseButton?: boolean;\n};\n\nfunction SheetContent({\n  className,\n  children,\n  side = 'right',\n  showCloseButton = true,\n  ...props\n}: SheetContentProps) {\n  return (\n    <SheetPortalPrimitive>\n      <SheetOverlay />\n      <SheetContentPrimitive\n        className={cn(\n          'bg-background fixed z-50 flex flex-col gap-4 shadow-lg',\n          side === 'right' && 'h-full w-[350px] border-l',\n          side === 'left' && 'h-full w-[350px] border-r',\n          side === 'top' && 'w-full h-[350px] border-b',\n          side === 'bottom' && 'w-full h-[350px] border-t',\n          className,\n        )}\n        side={side}\n        {...props}\n      >\n        {children}\n        {showCloseButton && (\n          <SheetClose className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n            <XIcon className=\"size-4\" />\n            <span className=\"sr-only\">Close</span>\n          </SheetClose>\n        )}\n      </SheetContentPrimitive>\n    </SheetPortalPrimitive>\n  );\n}\n\ntype SheetHeaderProps = SheetHeaderPrimitiveProps;\n\nfunction SheetHeader({ className, ...props }: SheetHeaderProps) {\n  return (\n    <SheetHeaderPrimitive\n      className={cn('flex flex-col gap-1.5 p-4', className)}\n      {...props}\n    />\n  );\n}\n\ntype SheetFooterProps = SheetFooterPrimitiveProps;\n\nfunction SheetFooter({ className, ...props }: SheetFooterProps) {\n  return (\n    <SheetFooterPrimitive\n      className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n      {...props}\n    />\n  );\n}\n\ntype SheetTitleProps = SheetTitlePrimitiveProps;\n\nfunction SheetTitle({ className, ...props }: SheetTitleProps) {\n  return (\n    <SheetTitlePrimitive\n      className={cn('text-foreground font-semibold', className)}\n      {...props}\n    />\n  );\n}\n\ntype SheetDescriptionProps = SheetDescriptionPrimitiveProps;\n\nfunction SheetDescription({ className, ...props }: SheetDescriptionProps) {\n  return (\n    <SheetDescriptionPrimitive\n      className={cn('text-muted-foreground text-sm', className)}\n      {...props}\n    />\n  );\n}\n\nexport {\n  Sheet,\n  SheetTrigger,\n  SheetClose,\n  SheetContent,\n  SheetHeader,\n  SheetFooter,\n  SheetTitle,\n  SheetDescription,\n  type SheetProps,\n  type SheetTriggerProps,\n  type SheetCloseProps,\n  type SheetContentProps,\n  type SheetHeaderProps,\n  type SheetFooterProps,\n  type SheetTitleProps,\n  type SheetDescriptionProps,\n};\n",
      "type": "registry:ui",
      "target": "components/animate-ui/components/radix/sheet.tsx"
    }
  ],
  "type": "registry:ui"
}