UNPKG

@intility/bifrost-react

Version:

React library for Intility's design system, Bifrost.

75 lines (74 loc) 1.51 kB
"use client"; import { c as _c } from "react-compiler-runtime"; import { forwardRef, useLayoutEffect, useRef } from "react"; import setRef from "../../utils/setRef.js"; import { jsx as _jsx } from "react/jsx-runtime"; const Popover = /*#__PURE__*/forwardRef((t0, ref) => { const $ = _c(11); let open; let props; if ($[0] !== t0) { ({ open, ...props } = t0); $[0] = t0; $[1] = open; $[2] = props; } else { open = $[1]; props = $[2]; } const popoverRef = useRef(null); let t1; let t2; if ($[3] !== open) { t1 = () => { if (!popoverRef.current) { return; } const stackElement = popoverRef.current; if (!open && stackElement.matches(":popover-open")) { stackElement.hidePopover?.(); } if (open && !stackElement.matches(":popover-open")) { stackElement.showPopover?.(); } }; t2 = [open]; $[3] = open; $[4] = t1; $[5] = t2; } else { t1 = $[4]; t2 = $[5]; } useLayoutEffect(t1, t2); let t3; if ($[6] !== ref) { t3 = r => { setRef(popoverRef, r); setRef(ref, r); }; $[6] = ref; $[7] = t3; } else { t3 = $[7]; } let t4; if ($[8] !== props || $[9] !== t3) { t4 = /*#__PURE__*/_jsx("span", { ...props, ref: t3, popover: "manual" }); $[8] = props; $[9] = t3; $[10] = t4; } else { t4 = $[10]; } return t4; }); Popover.displayName = "Popover"; export default Popover;