retro-react
Version:
A React component library for building retro-style websites
2 lines (1 loc) • 559 B
JavaScript
;var t=require("react"),e=require("react-dom");exports.Portal=o=>{let{children:r,position:i}=o;const[l,d]=t.useState(!1),n=t.useRef(document.createElement("div"));return t.useEffect((()=>{const t=n.current;return d(!0),document.body.appendChild(t),i&&(t.style.position="fixed",void 0!==i.top&&(t.style.top=`${i.top}px`),void 0!==i.bottom&&(t.style.bottom=`${i.bottom}px`),void 0!==i.left&&(t.style.left=`${i.left}px`),void 0!==i.right&&(t.style.right=`${i.right}px`)),()=>{document.body.removeChild(t)}}),[i]),l?e.createPortal(r,n.current):null};