import { DisplayMetadata } from '../../atoms/display/types'; import { TitleMetadata } from '../../atoms/title/types'; import { ButtonMetadata } from '../../types'; /** * Determines how the heading is rendered. * * - `'display'` (default) — uses `val-display`. Very large (40px medium, 48px large). * Ideal for page-level hero headers. * - `'title'` — uses `val-title`. Smaller (18px medium, 24px large). Ideal for * section-level headings inside a page, so they match other `val-title` * section labels on the same screen. */ export type ActionHeaderHeadingKind = 'display' | 'title'; /** * Configuration for `val-action-header` — a section title with a right-aligned * action button. Use `headingKind: 'title'` when this lives inside a page that * already has `val-title` section labels (so sizes stay coherent). */ export type ActionHeaderMetadata = { /** Heading props. Use `DisplayMetadata` shape when `headingKind === 'display'`, * `TitleMetadata` shape when `headingKind === 'title'`. Both accept * `size`, `color`, `content`. */ title: DisplayMetadata | TitleMetadata; action: ButtonMetadata; /** Default `'display'` for back-compat. */ headingKind?: ActionHeaderHeadingKind; };