{"version":3,"file":"withSsrSafe.mjs","sources":["../../../src/bindings/withSsrSafe.tsx"],"sourcesContent":["import React, { ComponentType, useEffect, useState } from 'react';\n\nexport function withSsrSafe<P extends object>(Component: ComponentType<P>): ComponentType<P> {\n  const Wrapped = (props: P) => {\n    const [mounted, setMounted] = useState(false);\n    useEffect(() => {\n      setMounted(true);\n    }, []);\n    return mounted ? <Component {...props} /> : null;\n  };\n\n  Wrapped.displayName = Component.displayName ? `SsrSafe(${Component.displayName})` : 'SsrSafe';\n  return Wrapped;\n}\n"],"names":["withSsrSafe","Component","Wrapped","props","mounted","setMounted","useState","useEffect","React","displayName"],"mappings":";;AAEO,SAASA,YAA8BC,SAA2B,EAAA;AACvE,IAAA,MAAMC,UAAU,CAACC,KAAAA,GAAAA;AACf,QAAA,MAAM,CAACC,OAAAA,EAASC,UAAAA,CAAW,GAAGC,QAAAA,CAAS,KAAA,CAAA;QACvCC,SAAAA,CAAU,IAAA;YACRF,UAAAA,CAAW,IAAA,CAAA;AACb,QAAA,CAAA,EAAG,EAAE,CAAA;QACL,OAAOD,OAAAA,iBAAUI,cAAA,CAAA,aAAA,CAACP,SAAAA,EAAcE,KAAAA,CAAAA,GAAY,IAAA;AAC9C,IAAA,CAAA;AAEAD,IAAAA,OAAAA,CAAQO,WAAW,GAAGR,SAAAA,CAAUQ,WAAW,GAAG,CAAC,QAAQ,EAAER,SAAAA,CAAUQ,WAAW,CAAC,CAAC,CAAC,GAAG,SAAA;IACpF,OAAOP,OAAAA;AACT;;;;"}