Timeline Scrubber

Compare Timeline Scrubber for React and React Native in VLLNT UI 0.4.0. Explore source, dependencies and native capabilities. Native is source-only; npm publication is pending.

Supported platforms:WebNative
Report a bug

What it is and when to use

Timeline Scrubber is a controlled range slider for scrubbing through canvas or video-style playback in React. Reach for it when you need a thin timeline track with a draggable handle, optional milestone ticks, tone variants, and formatted value labels. It builds on a native input type=range, so keyboard, pointer, and screen-reader support come for free. The host owns the value and drives the playback loop; the component is pure presentation.

Form

Preview

Switch between light and dark to inspect the embedded Storybook preview.

Range slider for scrubbing through canvas state playback, with optional milestone ticks. Part of the form family in VLLNT UI, it ships as a machine-readable registry entry — copy the source directly into your app with the shadcn CLI and own it, no runtime dependency on a component library.

Platform comparison

PlatformDependenciesCapabilities
Web@vllnt/ui@^0.3.0Browser rendering, DOM events, and ARIA semantics
Native@vllnt/ui-native, react-nativeNative-adapted interaction and accessibility

Installation

Add Timeline Scrubber to your project with the shadcn CLI. The source lands in your codebase, ready to adapt:

pnpm dlx shadcn@latest add https://ui.vllnt.com/r/timeline-scrubber.json

Source

Stories

Explore every variant and state in the interactive Storybook:

FAQ

What is Timeline Scrubber?
Timeline Scrubber is a controlled React range slider for scrubbing through playback, rendering a track with a value cursor and optional milestone ticks.
How do I add Timeline Scrubber?
Run `pnpm dlx shadcn@latest add https://ui.vllnt.com/r/timeline-scrubber.json` to install it into your project via the shadcn CLI.
Is Timeline Scrubber keyboard accessible?
Yes. It is built on a native input type=range, so keyboard navigation, pointer input, and screen-reader semantics work out of the box.