Motion, with verve.

A curated set of micro-interactions components for Vue. Add them with the CLI or copy the source, tune the springs, and ship the feel - no runtime package, no lock-in.

GitHub repo

No component library. Just plain Vue, Tailwind, and motion-v.

Add it with the CLI

One line drops the component's source into your src/components/ui, pulls in the shared composable, and installs its deps.

$ npx @jettonn/verve@latest add forward-button

Copies the source into src/components/ui/ and installs its deps — no config, no runtime package.

MagneticButton

Cursor-follow spring

ThemeToggle

Layout + icon crossfade

2,016

AnimatedCounter

Spring number roll

  • Spring physics
  • Gesture handling
  • Layout animation
  • Reduced motion

StaggeredList

Staggered reveal

ErrorShake

Invalid-input shake

ForwardButton

Slide-arrow interaction

VolumeButton

Morph interaction

SegmentedControl

Sliding active pill

Autoplay

SpringSwitch

Springy overshoot toggle

Tooltip

Spring-scale tooltip

A curated set of micro-interaction components for Vue — copy the source, tune the spring, and ship the feel.
No. Add a component with the CLI or copy its file; the motion lives inside the component itself.
Yes — every component falls back to instant state changes when a visitor asks for less.

Accordion

Springy expand + chevron

Vue Motion

TagInput

Spring-pop tag pills

PinInput

Digit-pop code boxes

RippleButton

Click-point ripple

SpringStaggerRippleTooltipMagneticTweenBlurOvershoot

Marquee

Looping hover-pause scroll

1

QuantityStepper

Spring-pop stepper

FilterChips

Toggle-fill filter chips

HoldToConfirm

Hold-to-delete progress ring

FocusBlur

Focus-pull hover blur