@meonode/ui
Version:
A structured approach to component composition, direct CSS-first prop styling, built-in theming, smart prop handling (including raw property pass-through), and dynamic children.
3 lines (2 loc) • 717 B
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./portal-provider.client.cjs"),r=require("../hook/useDataChannel.cjs");function n({layer:t,index:n,onClose:a}){const o=r.useDataChannel(t.channel),{Component:l}=t,s=n+1;return e.createElement(l,{data:o,depth:s,close:a})}function a(){const r=e.useContext(t.PortalContext);if(!r)throw new Error("PortalHost must be used within a PortalProvider");const{stack:a,hidePortalById:o}=r;return 0===a.length?null:e.createElement(e.Fragment,null,...a.map((t,r)=>e.createElement(n,{key:t.id,layer:t,index:r,onClose:()=>o(t.id)})))}n.displayName="PortalLayerRenderer",a.displayName="PortalHost",exports.default=a;