| You need | Use |
|---|---|
The application shell, once at the root | |
A route with a standard header | |
A route with swipeable sibling sections | |
Animated transitions between routes | |
A generic multi-page container within a route | |
Position within a pager or carousel |
| You need | Use |
|---|---|
A vertical list of rows | VerticalList with ListItem |
Another scrolling region | |
Horizontal browsing between destinations | |
An activatable media or artwork block | |
A stacked set of cards | |
Icon actions revealed by swiping a row |
| You need | Use |
|---|---|
One clear action | |
Overflowing horizontal actions | |
A small set of actions that fits | |
A compact messaging reply | |
Free-form text entry | |
A toggle, radio choice, or slider in a row | ListItem with its built-in control |
A standalone adjustable value | |
Media playback position | |
A square control or launcher tile | |
Manifest-themed Web App identity |
| You need | Use |
|---|---|
Structured decision or informational content in a route | |
Transient outcome feedback | |
A hint attached to a focused element | Built-in tooltip props or Tooltip |
An anchored action menu | |
An anchored text-first menu | |
Legibility over media |
| You need | Use |
|---|---|
Linear determinate progress | |
Circular determinate progress | |
Unknown-duration progress | |
A loading skeleton | |
A system-style value overlay | |
A short input affordance |
| You need | Use |
|---|---|
A person or entity image | |
A minimal status label | |
A richer label with metadata or an icon | |
Body or heading text | |
Text that crossfades when it changes | |
Long text that must clamp and expand |
Page for a normal route with one content area. Use SubNavigationPager when the route contains sibling sections that users move between. They are alternative route roots; do not combine them.VerticalList or ScrollView?VerticalList for a column of rows, usually ListItem components. Use ScrollView for other scrolling content. Keep one same-axis scroll owner per route so focus and directional navigation remain predictable.ButtonRail when actions can overflow, need horizontal scrolling, or form a bottom action surface. Use ButtonGroup when a small set fits and should remain together, such as actions in a Modal.Toast for transient outcome feedback that requires no action.Tooltip to explain a focused control.ContextMenu or VerticalMenu for actions anchored to an element.Modal for structured content within a route. It is an inline panel, not a blocking overlay; prefer a dedicated route for a blocking decision.Container for an interactable material surface, StaticContainer for a non-interactive one, or InteractableBase for interaction behavior without material. Do not recreate an existing component from generic elements or override its internal anatomy.App at the application root. It owns global focus, toast, and portal infrastructure.Page own the route header and its relationship to content. Do not place a standalone Header in route content.VerticalList inside ScrollView.IconSource; the host component owns icon size, placement, and tint. See Icons.App so they remain aligned with their owners.