);
}
function PortaledTabsHeader({ tabs }: { tabs: TabConfig[] }) {
const [portalTarget, setPortalTarget] = useState(null);
useEffect(() => {
const target = document.getElementById('integration-tabs-portal');
if (target) {
setPortalTarget(target);
return;
}
// Portal target may not exist yet (frameworks register asynchronously via useEffect)
const observer = new MutationObserver(() => {
const el = document.getElementById('integration-tabs-portal');
if (el) {
setPortalTarget(el);
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
return () => observer.disconnect();
}, []);
const header = (
If your framework has good native tool-calling support, we recommend native tools. The remote MCP URL is always available too.{' '}
Using sessions via MCP
.
);
if (portalTarget) {
return createPortal(header, portalTarget);
}
// Fallback: render inline if portal target not found
return