{
	"$schema": "https://ui.shadcn.com/schema/registry-item.json",
	"name": "popover",
	"dependencies": [],
	"registryDependencies": [],
	"files": [
		{
			"path": "ui/popover.tsx",
			"content": "import * as React from \"react\"\nimport { Popover as BasePopover } from \"@base-ui/react/popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Popover({ ...props }: React.ComponentProps<typeof BasePopover.Root>) {\n\treturn <BasePopover.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverPortal({\n\t...props\n}: React.ComponentProps<typeof BasePopover.Portal>) {\n\treturn <BasePopover.Portal data-slot=\"popover-portal\" {...props} />\n}\n\nfunction PopoverTrigger({\n\t...props\n}: React.ComponentProps<typeof BasePopover.Trigger>) {\n\treturn <BasePopover.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverClose({\n\t...props\n}: React.ComponentProps<typeof BasePopover.Close>) {\n\treturn <BasePopover.Close data-slot=\"popover-close\" {...props} />\n}\n\nfunction PopoverArrow({\n\t...props\n}: React.ComponentProps<typeof BasePopover.Arrow>) {\n\treturn <BasePopover.Arrow data-slot=\"popover-arrow\" {...props} />\n}\n\nfunction PopoverPositioner({\n\t...props\n}: React.ComponentProps<typeof BasePopover.Positioner>) {\n\treturn <BasePopover.Positioner data-slot=\"popover-positioner\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"popover-header\"\n\t\t\tclassName={cn(\"relative flex flex-col gap-y-1\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction PopoverTitle({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof BasePopover.Title>) {\n\treturn (\n\t\t<BasePopover.Title\n\t\t\tdata-slot=\"popover-title\"\n\t\t\tclassName={cn(\"text-sm font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction PopoverDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof BasePopover.Description>) {\n\treturn (\n\t\t<BasePopover.Description\n\t\t\tdata-slot=\"popover-description\"\n\t\t\tclassName={cn(\"text-muted-foreground text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction PopoverContent({\n\tchildren,\n\tclassName,\n\talign = \"center\",\n\tsideOffset = 8,\n\tarrow = true,\n\t...props\n}: React.ComponentProps<typeof BasePopover.Popup> & {\n\talign?: BasePopover.Positioner.Props[\"align\"]\n\tsideOffset?: BasePopover.Positioner.Props[\"sideOffset\"]\n\tarrow?: boolean\n}) {\n\treturn (\n\t\t<PopoverPortal>\n\t\t\t<PopoverPositioner sideOffset={sideOffset} align={align}>\n\t\t\t\t<BasePopover.Popup\n\t\t\t\t\tdata-slot=\"popover-content\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-popover text-popover-foreground outline-border z-50 w-72 origin-(--transform-origin) rounded-md p-4 shadow-md outline -outline-offset-1 transition-[transform,scale,opacity] data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0\",\n\t\t\t\t\t\tclassName\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{arrow && (\n\t\t\t\t\t\t<PopoverArrow className=\"data-[side=bottom]:-top-2 data-[side=left]:right-[-13px] data-[side=left]:rotate-90 data-[side=right]:left-[-13px] data-[side=right]:-rotate-90 data-[side=top]:-bottom-2 data-[side=top]:rotate-180\">\n\t\t\t\t\t\t\t<svg width=\"20\" height=\"10\" viewBox=\"0 0 20 10\" fill=\"none\">\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M9.66437 2.60207L4.80758 6.97318C4.07308 7.63423 3.11989 8 2.13172 8H0V9H20V8H18.5349C17.5468 8 16.5936 7.63423 15.8591 6.97318L11.0023 2.60207C10.622 2.2598 10.0447 2.25979 9.66437 2.60207Z\"\n\t\t\t\t\t\t\t\t\tclassName=\"fill-popover\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M10.3333 3.34539L5.47654 7.71648C4.55842 8.54279 3.36693 9 2.13172 9H0V8H2.13172C3.11989 8 4.07308 7.63423 4.80758 6.97318L9.66437 2.60207C10.0447 2.25979 10.622 2.2598 11.0023 2.60207L15.8591 6.97318C16.5936 7.63423 17.5468 8 18.5349 8H20V9H18.5349C17.2998 9 16.1083 8.54278 15.1901 7.71648L10.3333 3.34539Z\"\n\t\t\t\t\t\t\t\t\tclassName=\"fill-border\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</PopoverArrow>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</BasePopover.Popup>\n\t\t\t</PopoverPositioner>\n\t\t</PopoverPortal>\n\t)\n}\n\nfunction PopoverFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"popover-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tPopover,\n\tPopoverTrigger,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverDescription,\n\tPopoverContent,\n\tPopoverFooter,\n\tPopoverClose,\n\tPopoverArrow,\n\tPopoverPositioner,\n\tPopoverPortal,\n}\n",
			"type": "registry:ui",
			"target": ""
		}
	],
	"type": "registry:ui"
}
