{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "popover",
  "dependencies": [
    "react-aria-components",
    "tailwind-variants"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/popover.tsx",
      "content": "\"use client\"\n\nimport React from \"react\"\nimport {\n  Popover as AriaPopover,\n  PopoverProps as AriaPopoverProps,\n  composeRenderProps,\n  OverlayArrow,\n  PopoverContext,\n  useSlottedContext,\n} from \"react-aria-components\"\nimport { tv } from \"tailwind-variants\"\n\nexport interface PopoverProps extends Omit<AriaPopoverProps, \"children\"> {\n  showArrow?: boolean\n  children: React.ReactNode\n}\n\nconst styles = tv({\n  base: \"font-sans bg-popover shadow-md text-popover-foreground rounded-md overflow-hidden border outline-0 w-72\",\n  variants: {\n    isEntering: {\n      true: \"animate-in fade-in placement-bottom:slide-in-from-top-1 placement-top:slide-in-from-bottom-1 placement-left:slide-in-from-right-1 placement-right:slide-in-from-left-1 ease-out duration-200\",\n    },\n    isExiting: {\n      true: \"animate-out fade-out placement-bottom:slide-out-to-top-1 placement-top:slide-out-to-bottom-1 placement-left:slide-out-to-right-1 placement-right:slide-out-to-left-1 ease-in duration-150\",\n    },\n  },\n})\n\nexport function Popover({\n  children,\n  showArrow,\n  className,\n  ...props\n}: PopoverProps) {\n  const popoverContext = useSlottedContext(PopoverContext)!\n  const isSubmenu = popoverContext?.trigger === \"SubmenuTrigger\"\n  let offset = showArrow ? 12 : 8\n  offset = isSubmenu ? offset - 6 : offset\n  return (\n    <AriaPopover\n      offset={offset}\n      {...props}\n      className={composeRenderProps(className, (className, renderProps) =>\n        styles({ ...renderProps, className })\n      )}\n    >\n      {showArrow && (\n        <OverlayArrow className=\"group\">\n          <svg\n            width={12}\n            height={12}\n            viewBox=\"0 0 12 12\"\n            className=\"group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90 block fill-white stroke-black/10 stroke-1\"\n          >\n            <path d=\"M0 0 L6 6 L12 0\" />\n          </svg>\n        </OverlayArrow>\n      )}\n      {children}\n    </AriaPopover>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}