@infinityfx/fluid
Version:
React UI library, using zero-runtime CSS-in-JS.
4 lines (3 loc) • 902 B
JavaScript
"use client";
import{jsx as e}from"react/jsx-runtime";import{combineRefs as t}from"../../../core/utils.js";import{LayoutGroup as r}from"@infinityfx/lively/layout";import{useMemo as o}from"react";import{createPortal as n}from"react-dom";import{usePopover as i}from"./root.js";import m from"../modal.js";function l({children:l,ref:d,...f}){const{id:s,mounted:a,isModal:c,trigger:p,content:u,opened:y,toggle:x}=i(),g=o((()=>{if(!a||!p.current)return 1;let e=0,t=p.current;for(;t;){const r=parseInt(getComputedStyle(t).zIndex);isNaN(r)||(e=Math.max(e,r)),t=t.parentElement}return e+2}),[a]);return a?c?e(m,{ref:t(u,d),...f,id:s,show:y,onClose:()=>x(!1),children:l}):n(e(r,{children:e("div",{ref:t(u,d),...f,id:s,style:{...f.style,position:"fixed",zIndex:g},children:y&&l})}),document.getElementById("__fluid")):null}l.displayName="Popover.Content";export{l as default};
//# sourceMappingURL=content.js.map