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