/** * @fileoverview Popover — premium animated popover with Motion spring entrance for tooltips, menus, and floating content panels. * @module packages/ui/components/ui/popover * @layer core * * @component * @example * import { Popover, PopoverTrigger, PopoverContent } from '@saasflare/ui'; * * * Open * *

Popover content here.

*
*
*/ import * as React from "react"; import * as PopoverPrimitive from "@radix-ui/react-popover"; import { type SaasflareComponentProps } from "../../providers"; /** * Floating content panel anchored to a trigger element, opened on click. * Root of the composition — owns open state and wires {@link PopoverTrigger}, * {@link PopoverAnchor}, and {@link PopoverContent} together. Use for small * interactive panels (filters, pickers, inline forms); for hover-only previews * reach for HoverCard. * * @component * @layer core */ declare function Popover({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Button that toggles the popover open and closed. Also serves as the * positioning anchor unless a {@link PopoverAnchor} is rendered. * * @component * @layer core */ declare function PopoverTrigger({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Optional element the popover content positions against instead of the * trigger. * * @component * @layer core */ declare function PopoverAnchor({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; /** * Props for {@link PopoverContent}. Extends the Radix Popover content props * with the Saasflare theming axes (`surface`, `radius`, `animated`, * `iconWeight`). */ interface PopoverContentProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps { } /** * The floating panel rendered while the popover is open. Portals to the body, * enters with a spring scale/fade, and resolves `surface`/`radius`/`animated` * against the context. * * @component * @layer core */ declare function PopoverContent({ className, align, sideOffset, surface, radius, animated, iconWeight, ...props }: PopoverContentProps): import("react/jsx-runtime").JSX.Element; /** Props for {@link PopoverArrow}. Pure pass-through to the Radix Popover arrow. */ interface PopoverArrowProps extends React.ComponentProps { } /** * Triangular arrow pointing from the popover toward its trigger. * * Renders inside `` (consumes Popper context), so it must be a * child of the content panel — rendering it elsewhere positions incorrectly. * Position/rotation are computed by Radix from the resolved `side`/`align`; no * props are required by default. Fill follows the `bg-popover` token via * `fill-popover` so it inherits palette + light/dark automatically. The 1px * popover border is not auto-continued onto the arrow (Radix limitation, same * as shadcn) and the arrow fill stays token-fixed under non-default * `surface` overrides — pass a `className` to adjust either if needed. * * @component * @layer core * @example * * *

Popover content here.

*
*/ declare function PopoverArrow({ className, ...props }: PopoverArrowProps): import("react/jsx-runtime").JSX.Element; export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverArrow, type PopoverContentProps, type PopoverArrowProps };