69 components · open source

Interfaces that move with intent.

SagUI is a React design system with spring motion, accessible defaults and one token layer. Install it from npm, or point your AI tool at the docs and let it build.

Every example is live

Switch the period, change the status, delete the files. Nothing here is a recording.

Browse all 69 components

Analytics

sagui.dev · last 30 days

Visitors+12.4%
12,840

vs previous period

Revenue+9.2%
$74.9k

vs previous period

Conversion+0.6 pts
4.8%

vs previous period

Metric cardSwitch the period, the numbers count
In progress

Checkout stalls on Safari 17

Tapping Pay leaves the spinner running after the card is approved.

Status
Morph selectThe trigger grows into the list

Team plan

$96 / mo

seats
$12 each. Drag the label to scrub.
Number fieldPush past a limit and it pushes back
Confirm morphAsks in place, with undo
Action buttonPending, then the result, on the button
Owners, status and the latest milestone.
TabsThe highlight glides, panels follow
Chip groupPick a few, the row makes room
  • At least 12 characters, not met
  • Upper and lowercase letters, not met
  • At least one number, not met
  • At least one symbol, not met
Password strengthRules check off as you type
Avatar groupPeople join, the stack makes room
ToastSave, and it confirms quietly

Foundations first, then components

Type, corners and elevation are tokens with roles. Change a token and every component follows, in both themes.

Motion with manners

Change what a component says and it morphs in place instead of jumping.

  • Labels crossfade while widths spring to fit, so nothing around them shifts.
  • Springs are tuned not to overshoot the state a control reports.
  • With reduced motion, every spring becomes a short fade.
How motion works

sagui-docs

main · ae8d0ea

Queued

Click through the steps: the badge and the button keep their place while their content morphs.

Docs for people, and for their AI

Every component has when to use it, when not to, the full API, keyboard and accessibility notes. Connect your assistant to the MCP server and it reads them before it writes code.

claude mcp add --transport http sagui https://sagui-docs.vercel.app/api/mcp

Good questions

Read the docs

Install @sagui/ui, import its styles in your Tailwind v4 entry, and import components by name. The installation guide covers the Tailwind setup in three lines.

Start with one component

Try it on its page, then install it with one command.