# Tab Horiz Row — Figma Assembly Rules

<!-- figma-assembly.v2
{
  "schemaVersion": "figma-assembly.v2",
  "id": "component.tab-horiz-row",
  "level": "organism",
  "kind": "published",
  "aliases": ["Tabs_horiz_row", "Tabs Horiz Row", "Horizontal Tabs", "wbl-tab-horiz-row"],
  "uxSpec": "specs/ux/components/organisms/tab-horiz-row.md",
  "inventoryTarget": "tab-horiz-row",
  "componentKeys": ["821b8e8b2e2cec2d8cdcc8b34a8f02c13afbe97f", "86f7e3cb6d34f19068a0ae21f56525474eb8eb9b", "2c9bb8b4556c7d164e7aff55c6382c00ba40cd03"],
  "dependencies": [],
  "optionalDependencies": [],
  "coveredBy": []
}
-->

Status: active Figma assembly contract.

## Scope

Use the published `Tabs_horiz_row` component set for compact horizontal
tablist framing. This contract owns the row geometry and the `Underline`
property; tab labels, selected identity, panel content, and runtime keyboard
behavior remain outside this Figma assembly boundary.

## Source Evidence

- Component set `17553:28500`, key
  `821b8e8b2e2cec2d8cdcc8b34a8f02c13afbe97f`.
- `Underline=on` `17553:28523`, key
  `86f7e3cb6d34f19068a0ae21f56525474eb8eb9b`.
- `Underline=off` `17553:28534`, key
  `2c9bb8b4556c7d164e7aff55c6382c00ba40cd03`.

## Required Assembly

- Rule ID: `tabs-horiz-row.published` — use the canonical `Tabs_horiz_row`
  component set; do not redraw the horizontal row or replace it with an
  unrelated routing control.
- Rule ID: `tabs-horiz-row.underline` — preserve `Underline=on` for the
  secondary bottom divider and `Underline=off` when that divider is absent.
  The property must not change the tab-item height or row gap.
- The observed row contains repeated `tab_standard` item instances. Their
  labels and selected identity are screen configuration, not additional row
  properties.

## Tokens And Sizing

- The row aligns items at the start with a `16px` gap.
- Item height is `44px`; the selected item's lower accent stroke is `2px`.
- `Underline=on` adds a `1px` secondary lower stroke.
- Selected text uses accent. The observed inactive nested label is `#5F5F6D`,
  mapped locally to `--color-button-flat-secondary-pressed`, which is the
  current runtime default.

## Dependency Boundary

No standalone Figma component key for `component.tab-standard` was verified in
this scope. The repeated item is therefore documented as row configuration and
not declared as a sidecar dependency. Do not use this contract to bind a
vertical Tabs component or the separate Routing Tabs role.

## Verification Checklist

- `tabs-horiz-row.published`: the component set and selected row anatomy are
  preserved as published instances.
- `tabs-horiz-row.underline`: the chosen `Underline` variant matches the
  presence or absence of the secondary bottom divider.
