sh4dcnv2 · atlas
← libraries

@interior

Copy-paste React micro-interactions: a headless hook plus a styled example in one self-contained file, with motion as the only dependency.

54 components react shadcn-cli MIT

Install this registry

shadcn (npm) npx shadcn@latest add https://www.interior.dev/r/registry.json
pnpm pnpm dlx shadcn@latest add https://www.interior.dev/r/registry.json
bun bunx shadcn@latest add https://www.interior.dev/r/registry.json
fetch registry curl -s https://www.interior.dev/r/registry.json

Components

54 total
Copy Button ui

Copy to tick, width locked, reverts after 2s.

npx shadcn@latest add https://www.interior.dev/r/copy-button.json
Loading Button ui

Label to state without layout shift.

npx shadcn@latest add https://www.interior.dev/r/loading-button.json
Hold to Confirm ui

A guard rail in front of destructive actions.

npx shadcn@latest add https://www.interior.dev/r/hold-to-confirm.json
Like Burst ui

Optimistic like that survives rapid taps.

npx shadcn@latest add https://www.interior.dev/r/like-burst.json
Ripple ui

Touch feedback from the pointer origin.

npx shadcn@latest add https://www.interior.dev/r/ripple.json
Icon Morph ui

Play/pause, menu/close as one mechanism.

npx shadcn@latest add https://www.interior.dev/r/icon-morph.json
Press Depth ui

The feeling that the press landed.

npx shadcn@latest add https://www.interior.dev/r/press-depth.json
Floating Label ui

The label makes room instead of disappearing.

npx shadcn@latest add https://www.interior.dev/r/floating-label.json
Inline Validation ui

Error message that does not shove the form.

npx shadcn@latest add https://www.interior.dev/r/inline-validation.json
Password Strength ui

Strength read segment by segment.

npx shadcn@latest add https://www.interior.dev/r/password-strength.json
OTP Input ui

Auto advance, paste, error recovery.

npx shadcn@latest add https://www.interior.dev/r/otp-input.json
Tag Input ui

Enter adds, backspace highlights then removes.

npx shadcn@latest add https://www.interior.dev/r/tag-input.json
Expanding Search ui

Icon to field with focus handled.

npx shadcn@latest add https://www.interior.dev/r/expanding-search.json
Skeleton Swap ui

Skeleton to content with zero layout shift.

npx shadcn@latest add https://www.interior.dev/r/skeleton-swap.json
Progress Bar ui

Indeterminate handing over to determinate.

npx shadcn@latest add https://www.interior.dev/r/progress-bar.json
Load More ui

Sentinel that loads before you hit the end.

npx shadcn@latest add https://www.interior.dev/r/load-more.json
Streaming Text ui

Token by token with a caret.

npx shadcn@latest add https://www.interior.dev/r/streaming-text.json
Task Steps ui

The system narrates its work.

npx shadcn@latest add https://www.interior.dev/r/task-steps.json
Live Activity ui

The system's ongoing work, worn as a small object.

npx shadcn@latest add https://www.interior.dev/r/live-activity.json
Collapsible Banner ui

Folds to its title, or lets go entirely.

npx shadcn@latest add https://www.interior.dev/r/collapsible-banner.json
Presence Avatars ui

Join and leave as a layout change.

npx shadcn@latest add https://www.interior.dev/r/presence-avatars.json
Typing Indicator ui

Someone is writing.

npx shadcn@latest add https://www.interior.dev/r/typing-indicator.json
New Items Pill ui

New content without stealing your scroll.

npx shadcn@latest add https://www.interior.dev/r/new-items-pill.json
Modal ui

Backdrop, scroll lock, focus trap.

npx shadcn@latest add https://www.interior.dev/r/modal.json
Popover ui

Knows its origin, flips on collision.

npx shadcn@latest add https://www.interior.dev/r/popover.json
Tooltip Group ui

Delayed once, instant after that.

npx shadcn@latest add https://www.interior.dev/r/tooltip-group.json
Command Palette ui

Results reorder as you type.

npx shadcn@latest add https://www.interior.dev/r/command-palette.json
Drawer ui

Side panel that keeps its place.

npx shadcn@latest add https://www.interior.dev/r/drawer.json
Context Menu ui

Opens from the pointer, not the corner.

npx shadcn@latest add https://www.interior.dev/r/context-menu.json
Dropdown ui

Active highlight travels between items.

npx shadcn@latest add https://www.interior.dev/r/dropdown.json
Tabs ui

One indicator shared across tabs.

npx shadcn@latest add https://www.interior.dev/r/tabs.json
Segmented Control ui

Thumb slides, label inverts through it.

npx shadcn@latest add https://www.interior.dev/r/segmented-control.json
Accordion ui

height auto, done correctly.

npx shadcn@latest add https://www.interior.dev/r/accordion.json
Wizard Steps ui

Transition knows forward from back.

npx shadcn@latest add https://www.interior.dev/r/wizard-steps.json
Pagination ui

The window moves, the row does not.

npx shadcn@latest add https://www.interior.dev/r/pagination.json
Tree View ui

Disclosure the arrow keys can walk.

npx shadcn@latest add https://www.interior.dev/r/tree-view.json
Sticky Header ui

Condenses as you go down.

npx shadcn@latest add https://www.interior.dev/r/sticky-header.json
Reading Progress ui

How much is left.

npx shadcn@latest add https://www.interior.dev/r/reading-progress.json
Scroll Spy ui

The section you are actually in.

npx shadcn@latest add https://www.interior.dev/r/scroll-spy.json
Snap Carousel ui

Momentum that lands on a slide.

npx shadcn@latest add https://www.interior.dev/r/snap-carousel.json
Hide on Scroll ui

Toolbar yields to the content.

npx shadcn@latest add https://www.interior.dev/r/hide-on-scroll.json
Sortable Table ui

Rows travel to their new order.

npx shadcn@latest add https://www.interior.dev/r/sortable-table.json
Filter Grid ui

Filtering rearranges, it does not blink.

npx shadcn@latest add https://www.interior.dev/r/filter-grid.json
Value Flash ui

Marks what just changed.

npx shadcn@latest add https://www.interior.dev/r/value-flash.json
Poll Results ui

The winner lands last.

npx shadcn@latest add https://www.interior.dev/r/poll-results.json
Slider Detents ui

Stops you can feel.

npx shadcn@latest add https://www.interior.dev/r/slider-detents.json
Swipe Deck ui

A stack you decide through.

npx shadcn@latest add https://www.interior.dev/r/swipe-deck.json
Reorder List ui

The gap the siblings open is the drop target.

npx shadcn@latest add https://www.interior.dev/r/reorder-list.json
Long Press ui

Intent confirmed by time, and cancelled by everything else.

npx shadcn@latest add https://www.interior.dev/r/long-press.json
Lightbox ui

Zoom that returns where it started.

npx shadcn@latest add https://www.interior.dev/r/lightbox.json
Text Reveal ui

Words arrive in reading order.

npx shadcn@latest add https://www.interior.dev/r/text-reveal.json
Logo Marquee ui

Stops when you look at it.

npx shadcn@latest add https://www.interior.dev/r/logo-marquee.json
Blur-up Image ui

Placeholder resolves into the photo.

npx shadcn@latest add https://www.interior.dev/r/blur-up-image.json
Show More ui

Height animates, text does not reflow.

npx shadcn@latest add https://www.interior.dev/r/show-more.json