Button
Eight variants, six sizes and full composition through asChild.
Rivelle is an open-source registry of 55 foundations and 11 expressive effects for teams who care about craft, speed and complete control.
import { Button } from
"@/components/ui/button"
export default function Page() {
return (
<Button variant="outline">
Create something
</Button>
)
}
Pointer-aware surfaces, kinetic type and atmospheric scenes that install as editable source and inherit the same semantic theme.
Bend the spectrum.
Every component lands in your codebase. Read it, reshape it, make it unmistakably yours.
No client boundary unless interaction truly needs one. Built for modern Next.js applications.
Purposeful motion, tactile states and strong defaults without visual noise.
Accessible primitives with elegant defaults, designed to be composed and changed.
Eight variants, six sizes and full composition through asChild.
Compact signals for status, categories and metadata.
Calm, legible fields with refined focus and invalid states.
Accessible Radix interactions with a tactile, responsive feel.
Product updates
A thoughtful note, occasionally.
Usage insights
Weekly performance digest.
Composable structure for products, settings, dashboards and editorial layouts.
Initialize the tokens, add only what you need, then build without fighting someone else's abstraction.
React · Next.js · Tailwind CSS v4 · TypeScript