"use client"; import * as RadixPopover from "@radix-ui/react-popover"; import { theme } from "tailwind.config"; import { NestedCardThemeProvider } from "../ThemeManager/ThemeProvider"; import { useEffect, useState } from "react"; import { PopoverArrow } from "../Icons/PopoverArrow"; import { PopoverOpenContext } from "./PopoverContext"; export const Popover = (props: { trigger: React.ReactNode; disabled?: boolean; children: React.ReactNode; align?: "start" | "end" | "center"; side?: "top" | "bottom" | "left" | "right"; sideOffset?: number; background?: string; border?: string; className?: string; open?: boolean; onOpenChange?: (open: boolean) => void; onOpenAutoFocus?: (e: Event) => void; asChild?: boolean; arrowFill?: string; noArrow?: boolean; }) => { let [open, setOpen] = useState(props.open || false); useEffect(() => { if (props.open !== undefined) setOpen(props.open); }, [props.open]); return ( { setOpen(o); props.onOpenChange?.(o); }} > {props.trigger} {props.children} {!props.noArrow && ( )} ); };