{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "hover-card",
  "title": "Hover card",
  "description": "A raised contextual preview that opens on pointer hover or keyboard focus. Keep essential information in the page as well. Trigger delay and closeDelay remain configurable.",
  "dependencies": [
    "@base-ui/react@1.9.0"
  ],
  "registryDependencies": [
    "@waimakers/utils",
    "@waimakers/theme"
  ],
  "files": [
    {
      "path": "src/components/ui/hover-card.tsx",
      "content": "import { PreviewCard as PreviewCardPrimitive } from \"@base-ui/react/preview-card\";\nimport { cn, focusRing } from \"../../lib/utils\";\n\nfunction HoverCard({ ...props }: PreviewCardPrimitive.Root.Props) {\n  return <PreviewCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ className, ...props }: PreviewCardPrimitive.Trigger.Props) {\n  return (\n    <PreviewCardPrimitive.Trigger\n      data-slot=\"hover-card-trigger\"\n      className={cn(\"rounded-sm\", focusRing, className)}\n      {...props}\n    />\n  );\n}\n\nfunction HoverCardContent({\n  className,\n  side = \"bottom\",\n  sideOffset = 4,\n  align = \"center\",\n  alignOffset = 4,\n  ...props\n}: PreviewCardPrimitive.Popup.Props &\n  Pick<PreviewCardPrimitive.Positioner.Props, \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\">) {\n  return (\n    <PreviewCardPrimitive.Portal data-slot=\"hover-card-portal\">\n      <PreviewCardPrimitive.Positioner\n        align={align}\n        alignOffset={alignOffset}\n        side={side}\n        sideOffset={sideOffset}\n        className=\"isolate z-(--z-modal,50)\"\n      >\n        <PreviewCardPrimitive.Popup\n          data-slot=\"hover-card-content\"\n          className={cn(\n            \"w-72 max-w-[var(--available-width,calc(100vw-2rem))] origin-(--transform-origin) rounded-md border border-border bg-popover p-4 text-sm text-popover-foreground shadow-brand-overlay outline-none transition-[transform,opacity] duration-(--dur-fast,120ms) ease-brand motion-reduce:transition-none 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      </PreviewCardPrimitive.Positioner>\n    </PreviewCardPrimitive.Portal>\n  );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n",
      "type": "registry:ui",
      "target": "components/ui/hover-card.tsx"
    }
  ],
  "type": "registry:ui"
}