Kinetic UI
Back to Introduction
General

Smooth Scroll

A global smooth scrolling provider powered by Lenis.

Quick Actions
CLI Installation
npx kinetic-ui-cli@latest add smooth-scroll
smooth-scroll
Smooth Scroll Provider

Feel The Physics

Scroll down this container. Notice the buttery smooth inertia, spring physics, and perfect stopping powered by Lenis.

1.2s
Duration
2x
Touch Mult
No
Smooth Touch
Scroll Block 1
Scroll Block 2
Scroll Block 3
Scroll Block 4
Scroll Block 5

Overview

A lightweight wrapper around Lenis that provides high-performance, butter-smooth scroll experiences. This is the foundation for creating Awwwards-style premium web experiences.

Usage

import { SmoothScroll } from "@/components/creative/smooth-scroll"
<SmoothScroll
  duration={1.2}
  smoothTouch={false}
>
  {/* Your app content goes here */}
</SmoothScroll>

Usage Guide

1. Import the Component

Import the component into your React or Next.js page:

import { SmoothScroll } from "@/components/creative/smooth-scroll";

2. Implementation Example

Render the component and customize its behavior by passing props:

import { SmoothScroll } from "@/components/creative/smooth-scroll";

export default function Example() {
  return (
    <div className="w-full flex items-center justify-center p-8">
      <SmoothScroll
        duration{10}
        easing{10}
        smoothTouch{true}
      >
        <div>Content goes here</div>
      </SmoothScroll>
    </div>
  );
}
Performance Notes
  • Uses CSS hardware acceleration via GPU transform-binds.
  • Damped interpolation minimizes paint-redraw flashes.
  • Tree-shakable import: only compiles elements requested.
Accessibility Notes
  • Full keyboard focus-ring navigation support (`Tab`/`Shift+Tab`).
  • ARIA roles mapped correctly for assistive screen readers.
  • Respects `prefers-reduced-motion` system toggles.