import * as React from 'react' import { Popover as BasePopover } from '@base-ui/react/popover' import { cn } from '../../internal/utils' import { type FloatingContentProps, splitFloatingProps } from '../../internal/floating' type PopoverProps = React.ComponentProps const Popover = Object.assign( function Popover(props: PopoverProps) { return }, { createHandle: BasePopover.createHandle }, ) type PopoverTriggerProps = React.ComponentProps function PopoverTrigger(props: PopoverTriggerProps) { return } type PopoverContentProps = React.ComponentProps & FloatingContentProps< React.ComponentProps, React.ComponentProps > & { /** * Render the pointer and the thicker anchored border. * @default true */ arrow?: boolean } function PopoverContent({ className, arrow = true, children, ...props }: PopoverContentProps) { const { positioner, portal, popup } = splitFloatingProps(props) return (
{children}
{arrow && ( )}
) } function PopoverArrowSvg() { return ( ) } type PopoverTitleProps = React.ComponentProps function PopoverTitle({ className, ...props }: PopoverTitleProps) { return ( ) } type PopoverDescriptionProps = React.ComponentProps function PopoverDescription({ className, ...props }: PopoverDescriptionProps) { return } type PopoverCloseProps = React.ComponentProps function PopoverClose(props: PopoverCloseProps) { return } export { Popover, PopoverTrigger, PopoverContent, PopoverTitle, PopoverDescription, PopoverClose } export type { PopoverProps, PopoverTriggerProps, PopoverContentProps, PopoverTitleProps, PopoverDescriptionProps, PopoverCloseProps, }