RangeSlider

Molecule

Numeric slider input, distinct from Slider (a carousel). Single mode renders one native `<input type="range">` with a server-computed token gradient fill. Range (dual-handle) mode overlays two native range inputs with a shared fill bar and a small inline script that clamps the handles against each other and keeps the fill in sync while dragging.

Single value

Preview
Volume 65
Code
<%- include('modules/ui/RangeSlider', {
  label: 'Volume',
  value: 65,
  min: 0,
  max: 100,
  name: 'volume',
}) %>

Dual-handle range

Preview
Price range 2080
Code
<%- include('modules/ui/RangeSlider', {
  label: 'Price range',
  range: true,
  value: [20, 80],
  min: 0,
  max: 100,
  nameMin: 'priceMin',
  nameMax: 'priceMax',
}) %>
Source modules/ui/RangeSlider.ejs