/**
* @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 };