UNPKG

sccoreui

Version:

ui-sccore

32 lines (31 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const overlaypanel_1 = require("primereact/overlaypanel"); const OverlayPanel = (0, react_1.forwardRef)((props, ref) => { const overlayRef = (0, react_1.useRef)(null); (0, react_1.useImperativeHandle)(ref, () => overlayRef.current); (0, react_1.useEffect)(() => { const handleScroll = (event) => { var _a, _b; const target = event.target; // Check if target is an HTMLElement if (!(target instanceof HTMLElement)) { (_a = overlayRef.current) === null || _a === void 0 ? void 0 : _a.hide(); return; } // Hide only when scrolling outside overlay if (!target.closest(".p-overlaypanel")) { (_b = overlayRef.current) === null || _b === void 0 ? void 0 : _b.hide(); } }; window.addEventListener("scroll", handleScroll, true); return () => { window.removeEventListener("scroll", handleScroll, true); }; }, []); return (0, jsx_runtime_1.jsx)(overlaypanel_1.OverlayPanel, Object.assign({ ref: overlayRef }, props)); }); OverlayPanel.displayName = "OverlayPanel"; exports.default = OverlayPanel;