{"version":3,"sources":["../../../src/client/portal/index.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\ntype PortalProps = {\n children: React.ReactNode\n type: string\n}\n\nexport const Portal = ({ children, type }: PortalProps) => {\n const [portalNode, setPortalNode] = useState(null)\n\n useEffect(() => {\n const element = document.createElement(type)\n document.body.appendChild(element)\n setPortalNode(element)\n return () => {\n document.body.removeChild(element)\n }\n }, [type])\n\n return portalNode ? createPortal(children, portalNode) : null\n}\n"],"names":["useEffect","useState","createPortal","Portal","children","type","portalNode","setPortalNode","element","document","createElement","body","appendChild","removeChild"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC3C,SAASC,YAAY,QAAQ,YAAW;AAOxC,OAAO,MAAMC,SAAS,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAe;IACpD,MAAM,CAACC,YAAYC,cAAc,GAAGN,SAA6B;IAEjED,UAAU;QACR,MAAMQ,UAAUC,SAASC,aAAa,CAACL;QACvCI,SAASE,IAAI,CAACC,WAAW,CAACJ;QAC1BD,cAAcC;QACd,OAAO;YACLC,SAASE,IAAI,CAACE,WAAW,CAACL;QAC5B;IACF,GAAG;QAACH;KAAK;IAET,OAAOC,2BAAaJ,aAAaE,UAAUE,cAAc;AAC3D,EAAC","ignoreList":[0]}