{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "popover", "title": "Popover", "description": "Floating content panel anchored to a trigger element for contextual information or controls.", "dependencies": [ "@base-ui/react" ], "files": [ { "path": "packages/ui/src/popover.tsx", "content": "\"use client\";\n\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\nimport type * as React from \"react\";\nimport { cn } from \"./utils\";\n\n// =============================================================================\n// Popover (Root)\n// =============================================================================\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return ;\n}\n\n// =============================================================================\n// PopoverTrigger\n// =============================================================================\nexport interface PopoverTriggerProps extends PopoverPrimitive.Trigger.Props {}\n\nfunction PopoverTrigger({ className, ...props }: PopoverTriggerProps) {\n return (\n \n );\n}\n\n// =============================================================================\n// PopoverContent\n// =============================================================================\nexport interface PopoverContentProps extends PopoverPrimitive.Popup.Props {\n /**\n * Alignment of the content relative to the trigger\n * @default \"center\"\n */\n align?: \"start\" | \"center\" | \"end\";\n /**\n * Offset along the alignment axis\n * @default 0\n */\n alignOffset?: number;\n /**\n * Side of the trigger to position the popup\n * @default \"bottom\"\n */\n side?: \"top\" | \"bottom\" | \"left\" | \"right\" | \"inline-start\" | \"inline-end\";\n /**\n * Offset from the trigger\n * @default 4\n */\n sideOffset?: number;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n ...props\n}: PopoverContentProps) {\n return (\n \n \n \n \n \n );\n}\n\n// =============================================================================\n// PopoverHeader\n// =============================================================================\nexport interface PopoverHeaderProps extends React.ComponentProps<\"div\"> {}\n\nfunction PopoverHeader({ className, ...props }: PopoverHeaderProps) {\n return (\n \n );\n}\n\n// =============================================================================\n// PopoverTitle\n// =============================================================================\nexport interface PopoverTitleProps extends PopoverPrimitive.Title.Props {}\n\nfunction PopoverTitle({ className, ...props }: PopoverTitleProps) {\n return (\n \n );\n}\n\n// =============================================================================\n// PopoverDescription\n// =============================================================================\nexport interface PopoverDescriptionProps\n extends PopoverPrimitive.Description.Props {}\n\nfunction PopoverDescription({ className, ...props }: PopoverDescriptionProps) {\n return (\n \n );\n}\n\n// =============================================================================\n// PopoverClose\n// =============================================================================\nexport interface PopoverCloseProps extends PopoverPrimitive.Close.Props {}\n\nfunction PopoverClose({ className, ...props }: PopoverCloseProps) {\n return (\n \n );\n}\n\n// =============================================================================\n// PopoverArrow\n// =============================================================================\nexport interface PopoverArrowProps extends PopoverPrimitive.Arrow.Props {}\n\nfunction PopoverArrow({ className, children, ...props }: PopoverArrowProps) {\n return (\n \n {children ?? }\n \n );\n}\n\nfunction PopoverArrowSvg(props: React.ComponentProps<\"svg\">) {\n return (\n \n \n \n \n \n );\n}\n\nexport type { PopoverRootProps as PopoverProps } from \"@base-ui/react/popover\";\n// =============================================================================\n// Exports\n// =============================================================================\nexport {\n Popover,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n};\n", "type": "registry:ui" } ], "type": "registry:ui" }