{"version":"v1.0","client_state":{"Studio.default":{"fields":{"primary":"#682747","secondary":"#3a52b0","success":"#2f9e64","warning":"#f0a91b","error":"#e5484d","info":"#0e9bc4","background":"#fafafa","surface":"#ffffff","interface":"#f0f0f1","text":"#171717","muted":"#6b6b6e","d_primary":"#682747","d_secondary":"#3a52b0","d_success":"#2f9e64","d_warning":"#f0a91b","d_error":"#e5484d","d_info":"#0e9bc4","d_background":"#0a0a0a","d_surface":"#151515","d_interface":"#212121","d_text":"#f5f5f5","d_muted":"#a0a0a3","spacing":0.1875,"box":0.75,"field_":0.75,"selector":0.375,"stroke":1.0,"font":"ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'"},"persist":"local","send_to_server":true},"ColorScheme.default":{"fields":{"mode":"system"},"persist":"local","send_to_server":true}},"endpoints":{"action":"/_bretzel/action","sse":"/_bretzel/sse","refetch":"/_bretzel/refetch"},"csrf":"891e870d3efb9dd4b9d7403a590a71b6","page_id":"5b3dca14ad9641f88339b10af268b85b","address":""}
ui.stepper

Stepper

Ordered steps with their panels — horizontal or vertical, a failed step in red, and a current step Python can move.

A checkout wizard

Panels pair with steps in order; one extra panel is the finished screen. The buttons call wizard.prev() and wizard.next(), and a click on a done step goes back to it.
  1. Cart3 items
  2. ShippingWhere it goes
  3. PaymentCard or transfer
Walnut desk organiser, linen notebooks and a brass pen — €148.00.

Vertical onboarding

Steps before the current one are done, the ones after are still to come: nothing to declare per step.
  1. 1
    Create your workspaceNorthwind · 12 seats
  2. 2
    Invite your team8 of 12 invitations accepted
  3. 3
    Connect your bankRead-only access, revocable
  4. 4
    Send your first invoicePick a template

A failed step

status="error" is the one status you set by hand.
  1. Build1 min 12 s
  2. Unit tests1 482 passed
  3. Deploy to stagingHealth check failed
  4. Deploy to production

Sizes and colours

  1. 1
    Details
  2. 2
    Review
  3. 3
    Publish
  1. 1
    Details
  2. 2
    Review
  3. 3
    Publish
  1. 1
    Details
  2. 2
    Review
  3. 3
    Publish

Progress driven by Python

value= reads a server state: each click advances it on the server and the stepper follows.
  1. 1
    Domainacme-billing.com
  2. 2
    DNS records3 records to add
  3. 3
    VerificationUsually under a minute
  4. 4
    LiveEmails sent from your domain