const client_default = (element: HTMLElement) => ( Component: unknown, props: Record, { client }: { client: string }, ) => { if (client !== "only" && !element.hasAttribute("ssr")) return; let html: string; if (typeof Component === "string") { html = Component; } else if (typeof Component === "function") { html = (Component as (p: Record) => string)({ ...props, }); } else { html = ""; } element.innerHTML = html; element.querySelectorAll("script").forEach((oldScript) => { const newScript = document.createElement("script"); newScript.textContent = oldScript.textContent; oldScript.parentNode?.replaceChild(newScript, oldScript); }); }; export default client_default;