Print Desk

The Atom design system, rendered live from its own tokens and components — it cannot drift from what ships.

Docs Components

Tabsexperimental

Switch between views of the same thing — details, items, history. The vermillion underline marks where you are. Moving between different areas of the app is the sidebar's job, not tabs'.

tabsnavigationsections

States

  • selectedInk text + accent underline riding the tablist rule.underline: color-accent-base
  • unselectedMuted text, transparent underline; hover restores ink.
  • disabled45% opacity, still visible so the workflow reads complete (the old Rules tab pattern — but pair it with a tooltip explaining why).

API

PropTypeDescription
items requiredTabItem[]{id, label, disabled?}
value requiredstringSelected tab id (controlled).
onValueChange requiredfunctionReceives the next id.
aria-label requiredstringNames the tablist for assistive tech.

Accessibility

  • Arrow Right / Arrow LeftMoves selection and focus through enabled tabs, wrapping.
  • Home / EndJumps to the first / last enabled tab.
  • TabLeaves the tablist (roving tabindex keeps one stop).

Design specifications

  • list-rule color-border-rule / border-width-rule
  • underline color-accent-base
  • font type-body / weight-medium
  • padding space-2 space-3

Guidelines

  • mustEach panel carries role=tabpanel and aria-labelledby pointing at its tab.
  • must-notTabs switch views of one entity; navigating between entities is the sidebar's job.