//#region src/types.d.ts /** The asset families sourced from the brand-book Figma file, each its own export namespace. */ type Namespace = "hoggies" | "crests"; /** Every namespace, in a stable order. */ declare const NAMESPACES: readonly Namespace[]; /** * Crests come in two size tiers: the full-detail illustration (`full`) and the * simplified badge (`mini`). Each tier is its own export subpath (`crests/full`, * `crests/mini`) and its own on-disk folder under `assets/crests//`. */ type CrestTier = "full" | "mini"; /** Every crest tier, in a stable order. */ declare const CREST_TIERS: readonly CrestTier[]; /** * Metadata for a single illustration asset. Carried on each component as `.meta`. * Every asset ships as BOTH an inline SVG and a bundled PNG, so there is no * per-asset delivery field. */ interface AssetMeta { /** * Unique within its namespace — or, for crests, within its (namespace, tier). * E.g. "doc-brown", "landscape-color-gradient", "array". */ slug: string; /** Friendly display name derived from the Figma node, e.g. "Doc Brown". */ name: string; /** Which family this asset belongs to. */ namespace: Namespace; /** Crest size tier. Set only on `crests` assets; absent elsewhere. */ tier?: CrestTier; /** The Figma node id this asset was rendered from, e.g. "63:161728". */ figmaNodeId: string; /** Intrinsic aspect ratio (width / height) of the bundled image. */ aspectRatio: number; /** Figma COMPONENT_SET variant properties (e.g. `{ Orientation: "Landscape" }`), when any. */ variant?: Record; /** * Free-form search tags, parsed from the component's Figma description (a * comma-separated list). Trimmed and de-duplicated, in author order. Omitted when the * component has none. Folded into `findAssets`' free-text search and the `tags` filter. */ tags?: string[]; } /** A single brand color and its tonal ramp. Hex strings include the leading `#`. */ interface BrandColor { /** Human name, e.g. "blue", "corn blue". */ name: string; /** The primary/core swatch. */ core: string; /** A lighter tint. */ lighter: string; /** A darker shade. */ darker: string; /** The brand gradient stops for this color, `[from, to]`. */ gradient: [string, string]; } /** All brand colors keyed by slug (e.g. `blue`, `corn-blue`). */ type BrandColors = Record; //#endregion export { AssetMeta, BrandColor, BrandColors, CREST_TIERS, CrestTier, NAMESPACES, Namespace };