UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

29 lines (28 loc) 922 B
import { useEffect } from "react"; import { registerPopover } from "./popoverRegistry.js"; import { useDesktopPopoverCore } from "./useDesktopPopoverCore.js"; const DesktopPopover = ({ targetRef, children, isOpen, onOpenChange, ...rest })=>{ const referenceElement = targetRef && "current" in targetRef ? targetRef.current : targetRef; useEffect(()=>{ if (!onOpenChange) return; return registerPopover(()=>{ onOpenChange(false); }); }, [ onOpenChange ]); const { refs, getReferenceProps, renderFloating } = useDesktopPopoverCore({ isOpen, onOpenChange, referenceElement, ...rest }); if ("function" == typeof children) return children({ refs, getReferenceProps, renderFloating }); return renderFloating(children); }; export { DesktopPopover }; //# sourceMappingURL=DesktopPopover.js.map