Spinner, morph

Spinner, morph is a Spinners block from Orvain UI, built for React and Vue with a matching Figma frame.

Best for

A spinner that should end in an answer, in a row, a section or a button

Anatomy

One arc that breathes while working, then closes into a disc with a check or a cross · inline in a settings row, as a section sync with a rolling count, and inside a button that keeps its width

MCPConnect the MCP server

Security

Northwind design · Business plan

Single sign-onOkta · 3 groups mapped
Checking permissions
Syncing 12 projects0 of 12 synced

In the Orvain Library

Get Spinner, morph for your product

The block’s code in React and Vue, its frame in the Figma file, and the Orvain MCP so your AI tools build with it. Part of every Library plan, alongside every other block.

  • React
  • Vue
  • Figma frame
  • Orvain MCP

About this block

Part of Spinners

What’s inside

02parts

The pieces it is built from. Keep them all, or drop the ones your product doesn’t need.

  1. One arcthat breathes while working, then closes into a disc with a check or a cross
  2. Inline in a settings rowas a section sync with a rolling count, and inside a button that keeps its width

Responsive behaviour

560 px

Drawn at this width and never stretched past it. Below it, controls, text and spacing step down from the box the block sits in, not the window.

1440pxDesktop · 12 columns

When to use it

Where Spinners earns its place

Reach for Spinners

  • A request whose duration you cannot estimate: an auth check, a permission lookup
  • A button that has been submitted and must not be pressed a second time
  • A quota ring small enough to sit inside a list row and still carry its number
  • A blocking wait where one number is the entire message

Reach for something else

  • Content arriving into a known layout: a skeleton holds the shape and stops the jump
  • A job with named stages: a step list says which stage is slow; a sweep says nothing
  • A wait short enough to flash: show nothing and let the result land

Accessibility

06to keep

What the block ships with. Hold on to these as you make it yours.

  • Named controlsEvery icon-only button keeps a text label, so a screen reader can say what it does.
  • Keyboard firstEvery control is reachable with Tab, and its focus ring stays visible.
  • More than colourA state never rides on colour alone; a mark or a word goes with it.
  • Contrast holdsRetheme freely, but keep text at or above the contrast it ships with.
  • Calm motionFor visitors who ask for reduced motion, things simply appear.
  • Room to hitTargets stay at least 24px, with space between neighbours.

Notes for AI

1 line

Is all your assistant needs. With the Orvain MCP connected, it builds the block from your own tokens and components.

Add the Orvain “Spinner, morph” block to this page: one arc that breathes while working, then closes into a disc with a check or a cross, inline in a settings row, as a section sync with a rolling count, and inside a button that keeps its width.

Works in
Connect the MCP

Questions about Spinner, morph.

What is the Spinner, morph block?

Spinner, morph is a Spinners block from Orvain UI, built for React and Vue with a matching Figma frame. Best for a spinner that should end in an answer, in a row, a section or a button.

What is the Spinner, morph block made of?

Is the Spinner, morph block responsive?

Is the Spinner, morph block accessible?

How do I add the Spinner, morph block to my project?

When should I not use a Spinners block?

More Spinners blocks

All Spinners

Spinner

Work with no measurable end: a request in flight, a permission check

Spinner, ticks

A long wait that should visibly move on

Progress circle

Limits and quotas: a ring small enough to sit in a row and still carry its own number

Progress circle, morph

One limit at a time, with its detail

Progress circle, ticks

Usage you can count

Progress bar

A long job with a real end: an import, a migration, a download

Progress bar, morph

A job whose whole progress is the one number

Progress bar, ticks

A job where small changes should be countable

Percentage indicator

The one number a full-screen or blocking wait is about

Percentage indicator, morph

A blocking wait where the card itself is the bar

Percentage indicator, ticks

A blocking wait that wants a scale to read against

Processing panel

A job with named steps, where the wait needs to say what it is doing, not just that it is

Processing panel, morph

A job where only the running step needs attention

Processing panel, ticks

A job where the timeline and the history both matter

The Orvain Dispatch

Premium components, free in your inbox.

Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.

Just components, never spam. You can unsubscribe anytime.