# HeaderRowCell

> _Since v2.10.0_

Single cell in a contributed header row. `span` is the number of leaf
columns this cell covers (always `>= 1`). The sum of `span` across all
cells in a row MUST equal `context.columns.length`.

`label === ''` is treated as a blank/dropped cell — consumers may still
emit it (to preserve span alignment) or skip the entire row if every
cell is blank.

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| `label` | <code>string</code> | Display label for this cell. Empty string = blank cell (span preserved). |
| `span` | <code>number</code> | Number of leaf columns covered. Always `>= 1`. |
| `source?` | <code>string</code> | Optional plugin name (for debugging / `processHeaderRow` filtering). |
| `meta?` | <code>unknown</code> | Optional opaque payload for consumers that need plugin-specific data. |
