{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "popover",
  "title": "Popover",
  "description": "The shadcn Popover on Base UI, not Radix. The popup is the raised surface (--popover → --surface-raised) with the overlay shadow, a themed hairline and a scale/opacity enter honouring motion-reduce. The overlay the date-picker composes over, and a general-purpose overlay in its own right. Header, Title and Description parts provide the popup accessible name and description.",
  "dependencies": [
    "@base-ui/react@1.9.0"
  ],
  "registryDependencies": [
    "@waimakers/utils",
    "@waimakers/theme"
  ],
  "files": [
    {
      "path": "src/components/ui/popover.tsx",
      "content": "import { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\nconst PopoverTrigger = PopoverPrimitive.Trigger;\nconst PopoverClose = PopoverPrimitive.Close;\n\nfunction PopoverContent({\n  className,\n  sideOffset = 6,\n  align = \"center\",\n  ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Popup> & {\n  sideOffset?: number;\n  align?: \"start\" | \"center\" | \"end\";\n}) {\n  return (\n    <PopoverPrimitive.Portal>\n      <PopoverPrimitive.Positioner\n        className=\"z-(--z-modal,50) outline-none\"\n        sideOffset={sideOffset}\n        align={align}\n      >\n        <PopoverPrimitive.Popup\n          data-slot=\"popover-content\"\n          className={cn(\n            \"w-72 max-w-[var(--available-width)] origin-[var(--transform-origin)] rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-brand-overlay outline-none\",\n            \"transition-[transform,opacity] duration-(--dur-fast,120ms) ease-brand motion-reduce:transition-none\",\n            \"data-starting-style:scale-95 data-starting-style:opacity-0 data-ending-style:scale-95 data-ending-style:opacity-0\",\n            className,\n          )}\n          {...props}\n        />\n      </PopoverPrimitive.Positioner>\n    </PopoverPrimitive.Portal>\n  );\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div data-slot=\"popover-header\" className={cn(\"flex flex-col gap-1.5\", className)} {...props} />\n  );\n}\n\nfunction PopoverTitle({\n  className,\n  ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Title>) {\n  return (\n    <PopoverPrimitive.Title\n      data-slot=\"popover-title\"\n      className={cn(\"font-display text-lg font-bold tracking-tight\", className)}\n      {...props}\n    />\n  );\n}\n\nfunction PopoverDescription({\n  className,\n  ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Description>) {\n  return (\n    <PopoverPrimitive.Description\n      data-slot=\"popover-description\"\n      className={cn(\"text-sm text-muted-foreground\", className)}\n      {...props}\n    />\n  );\n}\n\nexport {\n  Popover,\n  PopoverClose,\n  PopoverContent,\n  PopoverDescription,\n  PopoverHeader,\n  PopoverTitle,\n  PopoverTrigger,\n};\n",
      "type": "registry:ui",
      "target": "components/ui/popover.tsx"
    }
  ],
  "type": "registry:ui"
}