{"version":3,"file":"useComponent.js","names":[],"sources":["esm/ui/useComponent.js"],"sourcesContent":["import { forwardRef, useEffect, useRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst NavigationContent = ({ render, children }) => {\n  return render(children);\n};\nfunction useComponent(render) {\n  const renderRef = useRef(render);\n  renderRef.current = render;\n  useEffect(() => {\n    renderRef.current = null;\n  });\n  return useRef(\n    forwardRef(({ children }, _ref) => {\n      const render2 = renderRef.current;\n      if (render2 === null) {\n        throw new Error(\n          \"The returned component must be rendered in the same render phase as the hook.\"\n        );\n      }\n      return /* @__PURE__ */ jsx(NavigationContent, { render: render2, children });\n    })\n  ).current;\n}\nexport {\n  useComponent\n};\n//# sourceMappingURL=useComponent.js.map\n"],"mappings":";;;;AAEA,MAAM,qBAAqB,EAAE,QAAQ,eAAe;CAClD,OAAO,OAAO,QAAQ;AACxB;AACA,SAAS,aAAa,QAAQ;CAC5B,MAAM,YAAY,OAAO,MAAM;CAC/B,UAAU,UAAU;CACpB,gBAAgB;EACd,UAAU,UAAU;CACtB,CAAC;CACD,OAAO,OACL,YAAY,EAAE,YAAY,SAAS;EACjC,MAAM,UAAU,UAAU;EAC1B,IAAI,YAAY,MAAM;GACpB,MAAM,IAAI,MACR,+EACF;EACF;EACA,OAAuB,oBAAI,mBAAmB;GAAE,QAAQ;GAAS;EAAS,CAAC;CAC7E,CAAC,CACH,CAAC,CAAC;AACJ"}