#2672·a2ui

Basic catalog has no stepper / status-steps primitive

Author: shellenCreated Sep 16, 2026Updated Sep 18, 2026
LabelsP2type: feature/enhancementstatus: first-line-handled

Summary

There's no primitive for multi-step progress / status ("here's where your order stands"), which is one of the most common things an agent renders after an action completes.

Current workaround

Building a status card against the basic catalog, the only option is a Column of Rows, each an Icon plus a Text, using icon name as a stand-in for step state — check for completed steps, arrowForward for the current one:

json
{ "id": "s1", "component": "Row", "children": ["s1-icon", "s1-text"] }

What's lost

The state of each step exists only as an icon-name convention that the model doesn't express and no renderer can rely on. Consequently a renderer cannot:

  • draw a connector rail or any stepper affordance, because it can't tell these rows are a sequence rather than an arbitrary list
  • visually distinguish done / current / pending beyond whatever icon the author happened to pick
  • expose step position ("step 3 of 4") to assistive technology
  • render a compact variant, since there's no structure to compact

Every renderer that wants a real stepper has to reverse-engineer the author's icon choices.

Proposed shape

json
{
  "id": "order-status",
  "component": "Stepper",
  "steps": [
    { "label": "Order received",    "state": "done" },
    { "label": "Payment confirmed", "state": "done" },
    { "label": "Being prepared",    "state": "current" },
    { "label": "Ready for pickup",  "state": "pending" }
  ]
}

with state as a closed enum: done | current | pending | failed.

Fallback story

Renderers without a stepper widget can fall back to exactly the icon + text column that's being hand-built today, so the degraded rendering is already proven in practice. The component is additive and optional — nothing existing changes.