Scroll Progress Navigation

A floating table-of-contents navigation pill that tracks scroll depth, dynamically morphs between resting and floating states, highlights active sections, and enables smooth scrolling.

Simulated Scroll ViewportScroll or click pills to test navigation
01 Overview

Edge First Motion Architecture

EasyUI is engineered from the ground up for minimal latency, zero-jank spring physics, and Apple-grade micro interactions.

02 Architecture

Neutral Dark Design Tokens

Strict grayscale elevation hierarchy using #050505 canvas, #0E0E0E surface, and calibrated 1px #1F1F1F borders.

03 Components

44 Production UI Elements

Every component supports keyboard shortcuts, touch gestures, screen-reader semantics, and prefers-reduced-motion.

04 Telemetry

Real-Time Event Streams

Sub-millisecond latency tracking and automated canary deployments across 32 regional edge nodes worldwide.

05 Pricing

Open Source & Free Forever

Install any component with the CLI. No subscriptions, no lock-in, 100% copy-pasteable TypeScript code.

Installation

Add the component directly to your repository using shadcn CLI:

npx shadcn@latest add Surajmaurya1/easyui/scroll-progress-nav

API Reference

PropTypeDefaultDescription
sectionsNavSectionItem[][...]Navigation links with IDs, index numbers, and labels
scrollThresholdnumber150Scroll distance in px before morphing into floating pill
activeIdstringundefinedControlled active section ID override
onSectionClick(id: string) => voidundefinedCallback fired when user selects a section
position'top-center' | 'bottom-center' | 'top-right''top-center'Screen anchor position