interior.dev
54 MIT micro-interaction components for React, installable as a shadcn registry
interior.dev is a shadcn-compatible registry of 54 React components that fix the half-second after a click: interruptible springs, width reserved before a state change, and a reduced-motion path that still delivers the information. Each component is one file exporting a headless hook (useX) holding all behaviour plus a styled example you can replace, and the only dependency is motion. The set is organised by what the user is doing — Action Feedback, Input, Async, Notification, Overlay, Navigation, Scroll, Data, Gesture, Content — rather than by widget type. MIT, 609 stars, last pushed 2026-08-12.
npx shadcn@latest add https://www.interior.dev/r/poll-results.jsonUse this when the interaction quality of a specific moment matters — a submit button that must not resize, an OTP field, a reorderable list, a drawer that survives an interrupted drag — and keep shadcn/ui as the base layer, since interior installs into components/interior through the same shadcn CLI and only adds `motion`. Prefer the headless useX hook and drop the styled example when the project has its own design language; the behaviour, not the classes, is the value. Read /r/registry.json for the machine list of all 54 items and their categories, and note there is no npm package — every add copies source you then own.
Why it is here. Most animation libraries ship the animation and skip the three things that make it feel cheap: layout jump, non-interruptible springs, and ignoring prefers-reduced-motion. interior argues each component to the frame and ships that last twenty percent, which is exactly the part an agent-generated UI usually misses.
- 54 components in a shadcn registry
- headless useX hook per component
- interruptible springs, reserved widths
- reduced-motion path preserves information
- single dependency: motion
Verified 2026-08-15. HTTP 200. https://www.interior.dev/ (WebFetch), https://www.interior.dev/docs (10 section names), https://www.interior.dev/r/registry.json (all 54 items with categories), https://www.interior.dev/r/accordion.json, https://www.interior.dev/docs/poll-results (install command), GitHub API repos/ddoemonn/interior + tree + README








