Elastic Pill
A blue pill that stretches like liquid between links.
Features
- A pill that stretches like liquid between links
- Leading edge moves first, trailing edge catches up
- Rests on the section you're reading
- Reduced motion makes it instant
Best for: Product and SaaS sites that want one memorable interaction in the nav.
Installation
npm install motion @radix-ui/react-slot class-variance-authority clsx tailwind-mergeThen copy the files from the Code tab into the same paths in your project, in TypeScript or JavaScript.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| logo | ReactNode | - | Your logo. It inherits currentColor. |
| items | NavItem[] | - | Links: label, href, optional icon and children. |
| cta | { label: string; href: string } | - | Optional call-to-action button. |
| className | string | - | Extra classes for the outer element. |
FAQ
Is the Elastic Pill navbar free to use?
Yes. Elastic Pill is free to copy into your own projects. Open the Code tab and paste the files into your app.
Does Elastic Pill work with Next.js and React?
Yes. It's a React client component made for the Next.js App Router, styled with Tailwind CSS and animated with Framer Motion (the motion package).
Can I use Elastic Pill in JavaScript instead of TypeScript?
Yes. Every file comes in TypeScript and JavaScript. Switch the language in the Code tab.
What does Elastic Pill need installed?
motion, @radix-ui/react-slot, class-variance-authority, clsx, tailwind-merge, plus the shared helpers from the Installation page.
Is Elastic Pill accessible?
Every link and button is reachable by keyboard with a visible focus ring, and the animation stays still for visitors who ask for reduced motion.