{"version":3,"file":"yield-wrapper.jsx","sources":["../../src/components/yield-wrapper.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport interface YieldWrapperProps {\n  nodes: ChildNode[];\n}\n\nexport const YieldWrapper: React.FC<YieldWrapperProps> = ({ nodes }) => {\n  const elRef = useRef<HTMLSpanElement | null>(null);\n\n  useEffect(() => {\n    const element = elRef.current;\n\n    if (element?.parentNode) {\n      const fragment = document.createDocumentFragment();\n      for (const node of nodes) {\n        fragment.appendChild(node);\n      }\n\n      // Replace <span> by fragment with appended nodes\n      element.parentNode.replaceChild(fragment, element);\n    }\n  }, [nodes]);\n\n  // This element is temporary. When mounted, it is replaced by the children nodes received from Ember.\n  return <span ref={elRef}></span>;\n};\n"],"names":["YieldWrapper","nodes","elRef","useRef","useEffect","element","current","parentNode","fragment","document","createDocumentFragment","node","appendChild","replaceChild","_jsx","ref"],"mappings":";;;AAMO,MAAMA,YAAyC,GAAGA,CAAC;AAAEC,EAAAA,KAAAA;AAAM,CAAC,KAAK;AACtE,EAAA,MAAMC,KAAK,GAAGC,MAAM,CAAyB,IAAI,CAAC,CAAA;AAElDC,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,OAAO,GAAGH,KAAK,CAACI,OAAO,CAAA;IAE7B,IAAID,OAAO,EAAEE,UAAU,EAAE;AACvB,MAAA,MAAMC,QAAQ,GAAGC,QAAQ,CAACC,sBAAsB,EAAE,CAAA;AAClD,MAAA,KAAK,MAAMC,IAAI,IAAIV,KAAK,EAAE;AACxBO,QAAAA,QAAQ,CAACI,WAAW,CAACD,IAAI,CAAC,CAAA;AAC5B,OAAA;;AAEA;MACAN,OAAO,CAACE,UAAU,CAACM,YAAY,CAACL,QAAQ,EAAEH,OAAO,CAAC,CAAA;AACpD,KAAA;AACF,GAAC,EAAE,CAACJ,KAAK,CAAC,CAAC,CAAA;;AAEX;AACA,EAAA,oBAAOa,GAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,GAAG,EAAEb,KAAAA;AAAM,GAAO,CAAC,CAAA;AAClC;;;;"}