Eased
Eased is a library of motion-first React components for shadcn, installed with the shadcn CLI.
eased.dev · Components · Docs
This repository is the free, MIT-licensed part of Eased: the source of every free component, its docs, and the registry JSON that eased.dev/r serves.
Install
Add a component with the shadcn CLI, by its registry name or by its URL:
@eased/<name> works because Eased is listed in the shadcn registry index, so the CLI finds @eased without a registries entry in components.json.
The URL form needs the .json extension: https://eased.dev/r/button.json works, https://eased.dev/r/button returns 404.
The CLI copies the component's source into components/eased/<name>/, installs its npm dependencies and merges the Eased stylesheet into your global CSS. There is no CSS file to import. You own the code from then on.
Requirements
- React 19
- Tailwind CSS v4
- A
components.json. If your project doesn't have one, run npx shadcn init.
The CLI installs each component's npm dependencies for you. Across the free components these are @base-ui/react (36), @tanstack/react-table (2), d3-scale (1), d3-shape (1), motion (55), shiki (3), with the number of components that use each.
Free components
Actions
Inputs
Selection
Navigation
Overlays
Status
Text and numbers
Lists and tables
Chat
AI
Charts
Code
Surface and focus
Mac
60 free components in 14 categories. Each one also has a page in docs/components/.
For AI agents
- llms.txt: the index of the docs and every component
- llms-full.txt: the docs and every free component's page in one file
- Motion docs: the springs, curves and durations every component uses
- AI and MCP docs: the MCP server, the skill and per-client setup
MCP server
The Eased MCP server is at https://eased.dev/api/mcp. Claude Code:
Cursor, in .cursor/mcp.json:
Skills
Installs eased-motion: the motion rules only.
Installs eased-skill: the full Eased design skill, written to .claude/skills/eased/SKILL.md.
Accessibility
Every animated component respects prefers-reduced-motion. From the motion docs:
Every animated component has a reduced branch. When the visitor's system asks for reduced motion, movement becomes a 100ms opacity fade (reducedFade) or nothing, and looping animations stop.
Licence
The free components are MIT: see LICENSE. Eased Pro is a separate paid tier, at eased.dev. Pro source isn't in this repository.
What's here
Report an issue
Open a GitHub issue or use eased.dev/report.