{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "popover",
  "dependencies": [
    "@data-slot/popover"
  ],
  "files": [
    {
      "path": "src/components/ui/popover/popover.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\nimport type { PopoverAlign, PopoverSide } from \"@data-slot/popover\"\n\ntype Props = HTMLAttributes<\"div\"> & {\n  defaultOpen?: boolean\n  side?: PopoverSide\n  align?: PopoverAlign\n  sideOffset?: number\n  alignOffset?: number\n  avoidCollisions?: boolean\n  collisionPadding?: number\n  portal?: boolean\n  position?: PopoverSide\n  closeOnClickOutside?: boolean\n  closeOnEscape?: boolean\n}\n\nconst {\n  class: className,\n  defaultOpen,\n  side,\n  align,\n  sideOffset,\n  alignOffset,\n  avoidCollisions,\n  collisionPadding,\n  portal,\n  position,\n  closeOnClickOutside,\n  closeOnEscape,\n  ...props\n} = Astro.props\n---\n\n<div\n  data-slot=\"popover\"\n  data-default-open={defaultOpen}\n  data-side={side}\n  data-align={align}\n  data-side-offset={sideOffset}\n  data-align-offset={alignOffset}\n  data-avoid-collisions={avoidCollisions}\n  data-collision-padding={collisionPadding}\n  data-portal={portal}\n  data-position={position}\n  data-close-on-click-outside={closeOnClickOutside}\n  data-close-on-escape={closeOnEscape}\n  class={className}\n  {...props}\n>\n  <slot />\n</div>\n\n<script>\n  import { create } from \"@data-slot/popover\"\n\n  create()\n</script>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/popover-trigger.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\ntype Props = HTMLAttributes<\"button\">\n\nconst { class: className, type = \"button\", ...props } = Astro.props\n---\n\n<button data-slot=\"popover-trigger\" type={type} class={className} {...props}>\n  <slot />\n</button>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/popover-content.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\nimport type { PopoverAlign, PopoverSide } from \"@data-slot/popover\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\"> & {\n  side?: PopoverSide\n  align?: PopoverAlign\n  sideOffset?: number\n  alignOffset?: number\n  avoidCollisions?: boolean\n  collisionPadding?: number\n  position?: PopoverSide\n}\n\nconst {\n  class: className,\n  hidden = true,\n  side,\n  align,\n  sideOffset,\n  alignOffset,\n  avoidCollisions,\n  collisionPadding,\n  position,\n  ...props\n} = Astro.props\n---\n\n<div data-slot=\"popover-portal\">\n  <div\n    data-slot=\"popover-positioner\"\n    data-side={side}\n    data-align={align}\n    data-side-offset={sideOffset}\n    data-align-offset={alignOffset}\n    data-avoid-collisions={avoidCollisions}\n    data-collision-padding={collisionPadding}\n    data-position={position}\n    class=\"isolate z-50\"\n  >\n    <div\n      data-slot=\"popover-content\"\n      data-side={side}\n      data-align={align}\n      data-side-offset={sideOffset}\n      data-align-offset={alignOffset}\n      data-avoid-collisions={avoidCollisions}\n      data-collision-padding={collisionPadding}\n      data-position={position}\n      hidden={hidden}\n      class={cn(\n        \"bg-popover text-popover-foreground ring-foreground/10 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 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 z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md p-4 text-sm shadow-md ring-1 duration-100 outline-none\",\n        className\n      )}\n      {...props}\n    >\n      <slot />\n    </div>\n  </div>\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/popover-description.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"p\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<p\n  data-slot=\"popover-description\"\n  class={cn(\"text-muted-foreground\", className)}\n  {...props}\n>\n  <slot />\n</p>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/popover-header.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"div\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<div\n  data-slot=\"popover-header\"\n  class={cn(\"flex flex-col gap-1 text-sm\", className)}\n  {...props}\n>\n  <slot />\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/popover-title.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"h3\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<h3 data-slot=\"popover-title\" class={cn(\"font-medium\", className)} {...props}>\n  <slot />\n</h3>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/popover/index.ts",
      "content": "export { default as Popover } from \"./popover.astro\"\nexport { default as PopoverContent } from \"./popover-content.astro\"\nexport { default as PopoverDescription } from \"./popover-description.astro\"\nexport { default as PopoverHeader } from \"./popover-header.astro\"\nexport { default as PopoverTitle } from \"./popover-title.astro\"\nexport { default as PopoverTrigger } from \"./popover-trigger.astro\"\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}