tanstack-ranger

Provides headless utilities for building accessible range and multi slider UIs across major frameworks.

29|2|Updated Jan 25, 2026
One-click install
npx skills add https://github.com/tanstack-skills/tanstack-skills --skill tanstack-ranger
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tanstack-ranger
Source: https://github.com/tanstack-skills/tanstack-skills/tree/main/plugins/tanstack-ranger/skills/tanstack-ranger
Command: npx skills add https://github.com/tanstack-skills/tanstack-skills --skill tanstack-ranger

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Makes implementing accessible, precise, and multi-thumb sliders straightforward by handling complex thumb logic, value sorting, edge cases, and keyboard/ARIA accessibility so developers can focus on markup and styling.

Core Features & Use Cases

  • Headless API for single-value, range, and multi-thumb sliders with sortedValues, handles, getSteps, getTicks, and programmatic setValues.
  • Accessibility built-in including role and aria attributes, keyboard navigation, and focus management for inclusive UI components.
  • Framework adapters for React, Vue, Solid, Svelte, Angular plus a framework-agnostic core for reuse across projects.
  • Use Case: Build a multi-range price filter or audio scrubber with precise step, tick, and interpolation control while maintaining full accessibility.

Quick Start

Install @tanstack/react-ranger and instantiate useRanger with getRangerElement, values, min, max, and onChange to render a track with handles and segments.

Frequently Asked Questions about tanstack-ranger

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an accessible multi-thumb slider in React?

Build an accessible multi-thumb slider in React using a headless API that handles thumb logic, value sorting, and ARIA attributes. You instantiate a ranger hook with min, max, values, and an onChange handler to render the track and handles.

Can I create a range slider with custom steps and ticks in Vue or Svelte?

Yes, you can create a range slider with custom steps and ticks in Vue or Svelte. Framework adapters are available for React, Vue, Solid, Svelte, and Angular, alongside a framework-agnostic core for reusable slider logic.

What is the best way to handle keyboard navigation for a multi-range slider?

The best way to handle keyboard navigation for a multi-range slider is using a headless utility that bakes in accessibility. It manages focus, ARIA attributes, and keyboard interactions automatically so you can focus on markup and styling.

Does this headless slider utility support programmatic value control?

Yes, the headless slider utility supports programmatic value control. It provides a ranger instance API with methods like setValues, allowing you to manipulate sortedValues, handles, and interpolation strategies directly from your application logic.

How do I prevent overlapping thumbs when building a multi-thumb slider?

Prevent overlapping thumbs when building a multi-thumb slider by leveraging built-in sortedValues handling. The headless logic automatically manages edge cases and value sorting across handles, ensuring thumbs maintain correct order and boundaries.

When do I need a headless slider utility instead of a standard range input?

You need a headless slider utility when building complex multi-range price filters or audio scrubbers that require precise step, tick, and interpolation control. It handles multi-thumb scenarios and full accessibility that standard HTML range inputs cannot natively support.