Renders author and publication metadata as a bordered grid card, matching the visual layout used on release detail pages. Supports 1–4 cells with responsive column sizing. ## Key Components ### `EntityAuthorCard` (default export) Main composer component. Renders a bordered grid with optional extra cells, a publication date cell, and an author cell. Returns `null` when `author` is empty unless `renderEmptyAuthor` is set. ### `EntityMetadataValueCell` Standalone value cell: large `text-h4` label (uppercase by default) above a secondary `DM_Sans` 14px descriptor. Used for Type, Status, Date, or custom `extraCells`. ### `EntityMetadataAuthorCell` Avatar + name + role label cell. Wraps the name in a link only when both `authorHref` and a real (non-placeholder) name are present — prevents linking placeholder text like "Unknown Author". ### `EMPTY_AUTHOR_PLACEHOLDER` Exported constant (`full_name: '—'`, `job_title: 'Unknown'`) used by catalog grids that require a fixed skeleton shape when no author is available. ### `EntityAuthorCardProps` Full prop interface. Key props: | Prop | Type | Description | |---|---|---| | `author` | `EntityAuthor \| null` | Author data | | `publishedAt` | `string \| Date \| null` | Triggers 2-cell (Published + Author) layout | | `extraCells` | `Array<{value, label, uppercase?}>` | Prepended value cells (e.g. Section, Step) | | `authorHref` | `string` | Link URL for author name | | `renderEmptyAuthor` | `boolean` | Force render with placeholder when author is absent | ## Usage Example ```typescript // Two-cell: Published + Author // Four-cell: Section + Step + Published + Author // Author-only (no date), placeholder fallback ``` **Source:** [`entity-author-card.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/entity-author-card.tsx)