Status: active Figma assembly contract.
Scope
Use this contract for the screen-local table master that composes a local header row, local body-row masters, the Table Header molecule, and published Table Cell atoms. It does not define a complete product-screen toolbar or data fixture.
Source Evidence
Identity and exposed anatomy rechecked read-only on 2026-09-05 at exact node. This confirms the documented owner/reference, not every assembly predicate or runtime token parity.
Direct Figma evidence: inner table
18750:89328passed Figma checks (1400×168).Parent
18750:89326is composition framing; its rounded card is not part of the table-wrapper API.
Required Assembly
- Dependency classification:
component.table-header-rowandcomponent.table-roware required structural children of a valid table wrapper; neither may be marked Not Used when_tableis Used. - Rule ID:
table.local-owner— create_table,_table-header, and every_table-rowas local components owned by the current screen. Never reuse, clone as an instance, or depend on a feature-local table master from another screen or section. - Rule ID:
table.fill-chain— keep the supported Auto Layout chain horizontallyFill: content parent, clipped viewport,_table,_table-header, and every_table-row. Put the screen-specific content minimum on_tablefor horizontal scroll. - Rule ID:
table.cell.narrowest— choose the narrowest mapped Table Cell variant for each column; use Slot only for genuinely custom content. - Use one
_tablemaster per screen and derive repeated rows from its local row masters. Put local masters under an Auto Layout component shelf before setting them to Fill; only a Section direct child may remain Fixed. - Keep filter/action toolbar, divider, summary, loader, empty state, pagination, and expanded content in wrapper regions, not in body cells.
- Keep optional rounded card framing outside this contract unless the screen explicitly owns it.
Verification Checklist
table.local-owner: local table/header/row masters share the current screen owner and no foreign feature-local component IDs occur in the subtree.table.fill-chain: the full supported parent/viewport/table/header/row chain is Fill and the minimum width belongs to_table.table.cell.narrowest: header and body children are real mapped atoms and Slot appears only where no narrower cell matches.- Column order and widths match across
_table-headerand every_table-row.