Loading Button
The label changes. The button stays put.
The fade a beat too slow. The spinner outliving the request. The row that jumps as it loads.
Free, open-source React micro-interactions, argued out to the frame. The behaviour is finished; the style is yours.
Animated React components, shown in motion.
The label changes. The button stays put.
A moment to change your mind.
A little patience. Then no waiting.
Stops you can feel.
The selection travels. Nothing jumps.
Even a second tap is considered.
Add a component. Keep the source. Change everything you want.
React, Tailwind CSS, and Motion.
TypeScript throughout. MIT licensed.
npx shadcn@latest add https://www.interior.dev/r/copy-button.jsonimport { CopyButton } from "@/components/interior/copy-button";
<CopyButton value="hello@interior.dev" />From the launch conversation on X.
54 components. The style is still yours.