UNPKG

@johnmusans/arcadia-ui-style-engine

Version:

Shared style system logic and types for Arcadia UI components

30 lines (22 loc) 843 B
import type { RegistryItem } from "shadcn/registry"; import { base } from "@arcadia-ui/registry-definition/registry-base"; import { iconLibraries } from "@arcadia-ui/registry-definition/registry-icons"; import { updateRegistryDependencies } from "../helpers/update-registry-deps"; import type { Style } from "../../types"; export function generateRegistryBase(options: { styleName: string; baseUrl: string; style: Style; }): RegistryItem { let registryItem = base; registryItem = updateRegistryDependencies(base, options); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const iconLibrary = iconLibraries.find( (lib) => lib.name === options.style.icons.library, )!; registryItem.dependencies = [ ...(registryItem.dependencies ?? []), iconLibrary.package, ]; return registryItem; }