{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "popover",
  "type": "registry:ui",
  "title": "Popover",
  "description": "Displays rich content in a portal, triggered by a button.",
  "dependencies": [
    "@base-ui/react"
  ],
  "files": [
    {
      "path": "src/registry/components/ui/popover.tsx",
      "content": "import * as React from \"react\";\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n  return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {\n  return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverPositioner({\n  sideOffset = 4,\n  portal,\n  className,\n  ...props\n}: PopoverPrimitive.Positioner.Props & {\n  portal?: PopoverPrimitive.Portal.Props;\n}) {\n  return (\n    <PopoverPrimitive.Portal {...portal}>\n      <PopoverPrimitive.Positioner\n        data-slot=\"popover-positioner\"\n        sideOffset={sideOffset}\n        className={cn(\"z-50\", className)}\n        {...props}\n      />\n    </PopoverPrimitive.Portal>\n  );\n}\n\nfunction PopoverContent({ className, ...props }: PopoverPrimitive.Popup.Props) {\n  return (\n    <PopoverPrimitive.Popup\n      data-slot=\"popover-content\"\n      className={cn(\n        \"bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n        className\n      )}\n      {...props}\n    />\n  );\n}\n\nfunction PopoverAnchor({ ...props }: PopoverPrimitive.Arrow.Props) {\n  return <PopoverPrimitive.Arrow data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport {\n  Popover,\n  PopoverTrigger,\n  PopoverContent,\n  PopoverAnchor,\n  PopoverPositioner,\n};\n",
      "type": "registry:ui"
    }
  ]
}