Files
2026-07-11 17:08:37 +00:00

24 lines
696 B
TypeScript

import { componentRegistry } from "./registry"
import { QuartzComponent, QuartzComponentConstructor } from "./types"
export function External<Options extends object | undefined>(
name: string,
options?: Options,
): QuartzComponent {
const registered = componentRegistry.get(name)
if (!registered) {
throw new Error(
`External component "${name}" not found. ` +
`Make sure the plugin is installed and components are loaded before layouts are evaluated.`,
)
}
const { component } = registered
if (typeof component === "function") {
return (component as QuartzComponentConstructor<Options>)(options as Options)
}
return component as QuartzComponent
}