# Simple Table Composition — Figma Assembly Rules
<!-- figma-assembly.v2
{ "schemaVersion":"figma-assembly.v2", "id":"component.table-composition-simple", "level":"organism", "kind":"local-composition", "aliases":["Simple Table","Простая таблица","table-composition-simple"], "uxSpec":"specs/ux/components/organisms/table-composition-simple.md", "inventoryTarget":"table-composition-simple", "componentKeys":[], "dependencies":["component.table-wrapper"], "optionalDependencies":[], "coveredBy":["table-composition-simple"] }
-->

Status: active Figma assembly contract; simple table preset.

## Scope

Use this preset for a plain data table with generated headers and body rows,
without selection, child rows, a visible pagination component, or table-level
bulk actions.

## 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-89326).
  This confirms the documented owner/reference, not every assembly predicate or runtime token parity.

- Direct Figma evidence:
  composition `18750:89326` and inner table `18750:89328` passed Figma checks.

## Required Assembly

- Dependency classification: `component.table-wrapper` is required because the
  simple preset is a constrained wrapper composition, not an independent table
  implementation.
- Rule ID: `table.simple-preset` — start from the Table Wrapper contract and
  omit selection cells, expanded rows, action toolbar, child tables, and visible
  Pagination unless the screen contract explicitly selects another preset.
- Apply all local ownership, fill-chain, header-row, body-row, and cell rules
  from this contract's dependencies.
- When Pagination is absent, the screen contract must explicitly record its
  loading policy, including static data with no further loading. Describe
  infinite-scroll behavior only when the screen uses it; absence of Pagination
  alone must not silently invent data loading.
- Keep the outer rounded frame screen-owned rather than treating it as a
  reusable table API.

## Verification Checklist

- `table.simple-preset`: only the simple preset anatomy is present.
- The composition contains a screen-local `_table`, `_table-header`, and local
  `_table-row` masters with published cell descendants.
- Loading, empty, and infinite-scroll evidence is recorded by the screen when
  applicable.
