# Table Header Row — Figma Assembly Rules
<!-- figma-assembly.v2
{ "schemaVersion":"figma-assembly.v2", "id":"component.table-header-row", "level":"molecule", "kind":"local-composition", "aliases":["_table-header","table-header-row","tr[wblThGroup]"], "uxSpec":"specs/ux/components/molecules/table-header-row.md", "inventoryTarget":"table-header-row", "componentKeys":[], "dependencies":["component.table-header"], "optionalDependencies":[], "coveredBy":["table-header"] }
-->

Status: active Figma assembly contract; composition-only.

## Scope

Use this contract for the whole multi-cell header row. It owns only local
composition and placement of Table Header molecules. It is deliberately
separate from the `table-header` molecule and does not introduce a runtime
component map.

## Source Evidence

- Identity and exposed anatomy rechecked read-only on 2026-09-05 at
  [exact node](https://www.figma.com/design/EO9tuCsqwuHL8cZ4Eb2psR/?node-id=18750-89329).
  This confirms the documented owner/reference, not every assembly predicate or runtime token parity.

## Required Assembly

- Dependency classification: `component.table-header` is required because this
  molecule is defined as an ordered row of published Table Header molecules.
- Rule ID: `table.local-owner` — create `_table-header` as a local component
  owned by the current screen's `_table`. Never reuse `_table-header` from
  another feature or screen.
- Rule ID: `table.header-row.top-align` — use horizontal Auto Layout with
  `counterAxisAlignItems=MIN`; every direct Table Header instance uses
  `layoutAlign=INHERIT` and begins at `y=0`.
- Add one published Table Header instance per column in exact body-column order.
  Preserve published internals, variant properties, tokens, and layer names.
- Keep column widths paired with the matching direct cells in every local
  `_table-row`. The enclosing `_table` owns the shared widths and scroll minimum.
- Do not add a row-level outline, custom indicator, manually drawn sort icon, or
  local header-cell lookalike.

## Verification Checklist

- `table.local-owner`: `_table-header` and its parent `_table` have the same
  screen-local owner; no foreign feature-local component is referenced.
- `table.header-row.top-align`: the row is cross-axis `MIN`, every direct cell
  inherits alignment, and every direct cell has `y=0`.
- Every child is a real published Table Header instance and header/body column
  order and widths agree.
- The local composition creates no standalone runtime API.
