UNPKG

@grafana/ui

Version:
31 lines (26 loc) 804 B
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); "use strict"; const PopoverController = ({ placement = "auto", content, children, hideAfter }) => { const [show, setShow] = React.useState(false); const hideTimeoutRef = React.useRef(null); const showPopper = React.useCallback(() => { if (hideTimeoutRef.current) { clearTimeout(hideTimeoutRef.current); } setShow(true); }, []); const hidePopper = React.useCallback(() => { hideTimeoutRef.current = setTimeout(() => { setShow(false); }, hideAfter); }, [hideAfter]); return children(showPopper, hidePopper, { show, placement, content }); }; exports.PopoverController = PopoverController; //# sourceMappingURL=PopoverController.cjs.map