Scroll Animation

New

Scroll-driven motion: a Lenis smooth-scroll provider and a reading-progress indicator that reads from it.

Smooth Scroll

smooth-scroll.tsx

Smooth-scroll provider over Lenis with a useSmoothScroll hook exposing scroll offset, progress and velocity. Reduced-motion safe.

Section 1
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
Section 8
Section 9
Section 10
Section 11
Section 12
Section 13
Section 14
Section 15
Section 16

Install

$ bunx --bun shadcn add @beui/smooth-scroll

Scroll Progress

scroll-progress.tsx

Reading-progress indicator — fixed bar or circular ring — driven by scroll position via useSmoothScroll, with spring smoothing.

Section 1
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
Section 8
Section 9
Section 10
Section 11
Section 12
Section 13
Section 14
Section 15
Section 16
Section 17
Section 18

Install

$ bunx --bun shadcn add @beui/scroll-progress

Parallax

parallax.tsx

Wrapper that drifts its children at a speed factor as they cross the viewport, on either axis. Reduced-motion safe.

Scroll down ↓
Parallax
↑ Scroll up

Install

$ bunx --bun shadcn add @beui/parallax

Scroll To

scroll-to.tsx

Button that smooth-scrolls to a target (offset, selector or element) via the active SmoothScroll provider; reduced-motion jumps instantly.

Intro
Features
Pricing
FAQ

Install

$ bunx --bun shadcn add @beui/scroll-to

Scroll Reveal

scroll-reveal.tsx

Reveals its children with a spring slide and blur as they enter the viewport, once or every time. Reduced-motion keeps a fade.

Scroll ↓
Spring slide
Blur in
Staggered by delay
Reveal once
End

Install

$ bunx --bun shadcn add @beui/scroll-reveal

Related components