@johnmusans/arcadia-ui-style-engine
Version:
Shared style system logic and types for Arcadia UI components
32 lines (26 loc) • 868 B
text/typescript
import type { RegistryItem } from "shadcn/registry";
import { generateRegistryAll } from "./generators/all";
import { generateRegistryBase } from "./generators/base";
import { generateGenericRegistryItem } from "./generators/generic";
import { generateRegistryTheme } from "./generators/theme";
import type { Style } from "../types";
export async function buildRegistryItem(
registryItemName: string,
options: {
styleName: string;
registryBasePath: string;
baseUrl: string;
style: Style;
},
): Promise<RegistryItem | null> {
if (registryItemName === "base") {
return generateRegistryBase(options);
}
if (registryItemName === "theme") {
return generateRegistryTheme(options);
}
if (registryItemName === "all") {
return generateRegistryAll(options);
}
return generateGenericRegistryItem(registryItemName, options);
}