import { readFileSync } from "node:fs";
import { COMPONENT_CONTRACTS, type DesignSystem } from "../../design-system/src/index.ts";
import { renderComponent } from "../../test/src/index.ts";
import { resolveThemeConfig, renderThemeCss } from "../../styles/src/theme.ts";
import { renderDocument } from "../../ssr/src/index.ts";
import { uiCss } from "../src/registry.ts";
// SSR baseline gallery. Provider regions and empty collection states intentionally keep their defaults.
export async function catalogFixtureDocument(system: DesignSystem, mode: string, page: number) {
const entries = Object.entries(COMPONENT_CONTRACTS).slice(page * 16, (page + 1) * 16);
const cards = await Promise.all(
entries.map(async ([name, contract]) => {
const body = await renderComponent(readFileSync(contract.source, "utf8"), {});
return `${name}
${body}
Default server-rendered states. Interactive core preview: open.