{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "popover",
  "type": "registry:ui",
  "title": "Popover",
  "description": "A popover component",
  "dependencies": [
    "solid-js",
    "@kobalte/core"
  ],
  "files": [
    {
      "path": "src/registry/ui/popover.tsx",
      "content": "import type { Component, ValidComponent } from \"solid-js\"\nimport { splitProps } from \"solid-js\"\n\nimport type { PolymorphicProps } from \"@kobalte/core/polymorphic\"\nimport * as PopoverPrimitive from \"@kobalte/core/popover\"\n\nimport { cn } from \"~/lib/utils\"\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst Popover: Component<PopoverPrimitive.PopoverRootProps> = (props) => {\n  return <PopoverPrimitive.Root gutter={4} {...props} />\n}\n\ntype PopoverContentProps<T extends ValidComponent = \"div\"> =\n  PopoverPrimitive.PopoverContentProps<T> & { class?: string | undefined }\n\nconst PopoverContent = <T extends ValidComponent = \"div\">(\n  props: PolymorphicProps<T, PopoverContentProps<T>>\n) => {\n  const [local, others] = splitProps(props as PopoverContentProps, [\"class\"])\n  return (\n    <PopoverPrimitive.Portal>\n      <PopoverPrimitive.Content\n        class={cn(\n          \"z-50 w-72 origin-[var(--kb-popover-content-transform-origin)] rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[expanded]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[expanded]:fade-in-0 data-[closed]:zoom-out-95 data-[expanded]:zoom-in-95\",\n          local.class\n        )}\n        {...others}\n      />\n    </PopoverPrimitive.Portal>\n  )\n}\n\nexport { Popover, PopoverTrigger, PopoverContent }\n",
      "type": "registry:ui"
    }
  ]
}