/** * SvPopover - a floating panel anchored to a trigger, portalled to so it * escapes any `overflow:hidden` ancestor. Open on click (default), hover, or * manually via `open`. Positioned by the shared engine (`computePosition`): full * placement matrix + flip + shift + an optional arrow, kept in sync with * `autoUpdate`. Closes on outside-click / Escape via the dismissable layer * stack, and animates in. The panel is hoverable (interactive) under the hover * trigger. Parity: Smart popover. * * ```svelte * * {#snippet anchor()}{/snippet} *

Panel content

*
* ``` */ import type { Snippet } from 'svelte'; import { type Placement } from './positioning'; type Props = { /** Controlled open state (bindable). */ open?: boolean; onOpenChange?: (open: boolean) => void; /** How the anchor opens the panel. `manual` = only `open` drives it. */ trigger?: 'click' | 'hover' | 'manual'; /** Preferred placement (flips when there is no room). Default `bottom-start`. */ placement?: Placement; /** Main-axis gap between trigger and panel. Default 8 (room for the arrow). */ offset?: number; /** Render a pointer arrow toward the trigger. Default true. */ arrow?: boolean; /** Hover trigger: delay (ms) before opening. Default 0. */ openDelay?: number; /** Hover trigger: delay (ms) before closing after leave. Default 120. */ closeDelay?: number; /** Estimated panel height, used before the panel has been measured. */ estimatedHeight?: number; /** Force a minimum panel width (else it hugs its content). */ minWidth?: number; /** Close when clicking outside. Default true. */ closeOnOutsideClick?: boolean; ariaLabel?: string; /** The anchor element(s) that open the panel. */ anchor?: Snippet; /** Panel content. */ children?: Snippet; }; declare const SvPopover: import("svelte").Component; type SvPopover = ReturnType; export default SvPopover;