/** * @usevyre/react — Popover * * AI CONTEXT: * ┌─────────────────────────────────────────────────────────┐ * │ Component: Popover │ * │ Import: import { Popover } from "@usevyre/react" │ * │ │ * │ Props: │ * │ open = boolean (controlled) │ * │ onOpenChange = (open: boolean) => void │ * │ placement = "bottom"(default) │ * │ side: "top"|"bottom"|"left"|"right" │ * │ align: "-start"?|""?|"-end"? │ * │ e.g. "top-start", "bottom-end", │ * │ "left", "right-start" │ * │ trigger = ReactElement (the anchor element) │ * │ children = ReactNode (popover content) │ * │ closeOnOutside = boolean (default: true) │ * └─────────────────────────────────────────────────────────┘ * * @example * // Controlled * Open}> *

Content here.

*
* * // Uncontrolled * Open}> *

Content here.

*
*/ import React from "react"; export type PopoverSide = "top" | "bottom" | "left" | "right"; export type PopoverAlign = "start" | "center" | "end"; export type PopoverPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"; export interface PopoverProps { trigger: React.ReactElement; children: React.ReactNode; open?: boolean; onOpenChange?: (open: boolean) => void; placement?: PopoverPlacement; closeOnOutside?: boolean; className?: string; } export declare const Popover: React.FC;