{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glass-popover",
  "title": "Glass Popover",
  "description": "Glass Popover with five variants: clear, frosted, subtle, liquid, and liquid-refract",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "@glasscn/utils",
    "@glasscn/popover",
    "@glasscn/glass-variants",
    "@glasscn/liquid-glass"
  ],
  "files": [
    {
      "path": "components/ui/glasscn/glass-popover.tsx",
      "content": "\"use client\";\n\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\n\nimport { FrostGlassVariantProp, glassVariantStyles } from \"@/lib/glass-variants\";\nimport { cn } from \"@/lib/utils\";\n\nimport { PopoverContent } from \"../popover\";\nimport { LiquidGlass } from \"./liquid-glass\";\n\ntype GlassPopoverContentProps = React.ComponentProps<typeof PopoverContent> & FrostGlassVariantProp;\n\nfunction GlassPopoverContent({ className, glassVariant = \"liquid-refract\", ...props }: GlassPopoverContentProps) {\n  if (glassVariant === \"liquid-refract\") {\n    return (\n      <PopoverPrimitive.Portal>\n        <PopoverPrimitive.Positioner\n          align={props.align}\n          alignOffset={props.alignOffset}\n          side={props.side}\n          sideOffset={props.sideOffset}\n          className=\"isolate z-50\"\n        >\n          <LiquidGlass className=\"rounded-lg\">\n            <PopoverPrimitive.Popup\n              data-slot=\"glass-popover-content\"\n              data-glass-variant={glassVariant}\n              className={cn(\n                \"z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg p-2.5 text-sm text-foreground outline-hidden duration-100 bg-transparent shadow-none ring-0 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n                className,\n              )}\n              {...props}\n            />\n          </LiquidGlass>\n        </PopoverPrimitive.Positioner>\n      </PopoverPrimitive.Portal>\n    );\n  }\n\n  return (\n    <PopoverContent\n      data-slot=\"glass-popover-content\"\n      data-glass-variant={glassVariant}\n      className={cn(\"text-foreground\", glassVariantStyles[glassVariant], className)}\n      {...props}\n    />\n  );\n}\n\nexport { GlassPopoverContent };\n",
      "type": "registry:component"
    }
  ],
  "type": "registry:component"
}