import { Popover as PopoverPrimitive } from '@base-ui/react/popover'; import * as React from 'react'; import { cn } from '@/lib/utils'; type PopoverAnchorProps = React.ComponentProps<'div'>; type PopoverContentProps = Pick< React.ComponentProps, 'align' | 'side' | 'sideOffset' > & React.ComponentProps & { asChild?: boolean; }; type PopoverDescriptionProps = React.ComponentProps<'p'>; type PopoverHeaderProps = React.ComponentProps<'div'>; type PopoverProps = React.ComponentProps; type PopoverTitleProps = React.ComponentProps<'h2'>; type PopoverTriggerProps = React.ComponentProps< typeof PopoverPrimitive.Trigger > & { asChild?: boolean; }; function PopoverAnchor({ ...props }: PopoverAnchorProps) { return
; } function PopoverContent({ align = 'center', asChild, children, className, side = 'bottom', sideOffset = 4, ...props }: PopoverContentProps) { return ( {asChild ? undefined : children} ); } function PopoverDescription({ className, ...props }: PopoverDescriptionProps) { return (

); } function PopoverHeader({ className, ...props }: PopoverHeaderProps) { return (

); } function PopoverRoot({ ...props }: PopoverProps) { return ; } function PopoverTitle({ children, className, ...props }: PopoverTitleProps) { return (

{children}

); } function PopoverTrigger({ asChild, children, ...props }: PopoverTriggerProps) { return ( {asChild ? undefined : children} ); } const Popover = Object.assign(PopoverRoot, { Anchor: PopoverAnchor, Content: PopoverContent, Description: PopoverDescription, Header: PopoverHeader, Title: PopoverTitle, Trigger: PopoverTrigger, }); export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, }; export type { PopoverAnchorProps, PopoverContentProps, PopoverDescriptionProps, PopoverHeaderProps, PopoverProps, PopoverTitleProps, PopoverTriggerProps, };