Range slider for modern interfaces.

A polished TypeScript experience for single and range selection, with a consistent visual language across every skin.

Single handle

Choose one value

Simple

Range

Pick a span

Double

Settings

Flexible configuration

Each sample is tuned around the same core options: min/max, step size, type, and skin. The slider also supports keyboard navigation, grid labels, and custom formatting.

Customization

Configuration guide

API

Core options

  • min, max, from, to — define the range and initial values.
  • step — controls the increment size for keyboard and pointer movement.
  • type — use single or double.
  • skin — switch themes: flat, round, big, sharp, square, modern.

Behavior controls

  • hide_min_max and hide_from_to — hide or show labels.
  • grid, grid_num, grid_snap — enable ruler-like ticks.
  • keyboard — turn on or off arrow-key navigation.
  • disable and block — lock the slider state.

Examples

createRangeSlider(host, {
  type: 'double',
  min: 0,
  max: 100,
  from: 20,
  to: 80,
  step: 5,
  skin: 'round',
  grid: true
});
createRangeSlider(host, {
  type: 'single',
  min: 10,
  max: 100,
  from: 42,
  step: 1,
  skin: 'sharp',
  hide_min_max: false,
  hide_from_to: false
});

Visual themes

Skins with range behavior

Every preview below uses a double-handle slider so the experience matches the intended range use case.

Flat

Classic

Round

Soft

Big

Bold

Sharp

Modern

Square

Structured

Default

Clean