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)