{"version":3,"sources":["../../src/internal/HtmlEmbed.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\ninterface HtmlEmbedProps extends React.ComponentProps<'div'> {\n  html: string\n}\n\nexport function HtmlEmbed(props: HtmlEmbedProps): React.ReactElement {\n  const { html, ...other } = props\n\n  const ref = useRef<HTMLDivElement>(null)\n\n  // We need to reload scripts in the html in order for them to run\n  useEffect(() => {\n    const createdScripts: HTMLScriptElement[] = []\n    const node = ref.current\n\n    if (node && html) {\n      const scripts = node.getElementsByTagName('script')\n\n      Array.from(scripts).forEach((script) => {\n        if (script.type === 'application/json') {\n          return\n        }\n\n        const scriptEl = document.createElement('script')\n\n        if (script.src) {\n          scriptEl.src = script.src\n        } else {\n          const textNode = document.createTextNode(script.innerHTML)\n          scriptEl.appendChild(textNode)\n        }\n\n        script.remove()\n        createdScripts.push(scriptEl)\n        node.appendChild(scriptEl)\n      })\n    }\n\n    return () => {\n      createdScripts.forEach((script) => {\n        script.remove()\n      })\n    }\n  }, [html])\n\n  return <div dangerouslySetInnerHTML={{ __html: html }} ref={ref} {...other} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AA8CzB;AAxCF,SAAS,UAAU,OAA2C;AACnE,QAAM,EAAE,MAAM,GAAG,MAAM,IAAI;AAE3B,QAAM,UAAM,qBAAuB,IAAI;AAGvC,8BAAU,MAAM;AACd,UAAM,iBAAsC,CAAC;AAC7C,UAAM,OAAO,IAAI;AAEjB,QAAI,QAAQ,MAAM;AAChB,YAAM,UAAU,KAAK,qBAAqB,QAAQ;AAElD,YAAM,KAAK,OAAO,EAAE,QAAQ,CAAC,WAAW;AACtC,YAAI,OAAO,SAAS,oBAAoB;AACtC;AAAA,QACF;AAEA,cAAM,WAAW,SAAS,cAAc,QAAQ;AAEhD,YAAI,OAAO,KAAK;AACd,mBAAS,MAAM,OAAO;AAAA,QACxB,OAAO;AACL,gBAAM,WAAW,SAAS,eAAe,OAAO,SAAS;AACzD,mBAAS,YAAY,QAAQ;AAAA,QAC/B;AAEA,eAAO,OAAO;AACd,uBAAe,KAAK,QAAQ;AAC5B,aAAK,YAAY,QAAQ;AAAA,MAC3B,CAAC;AAAA,IACH;AAEA,WAAO,MAAM;AACX,qBAAe,QAAQ,CAAC,WAAW;AACjC,eAAO,OAAO;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAET,SAAO,4CAAC,SAAI,yBAAyB,EAAE,QAAQ,KAAK,GAAG,KAAW,GAAG,OAAO;AAC9E;","names":[]}