HomePluginsToolsWorkflowAboutContact
GetSet

Premium UI/UX layout engines, customizable micro-interaction plugins, and high-performance components for modern web developers.

Plugins

  • Carousel
  • Select
  • Zoom
  • FlexoGrid
  • Sortable
  • Modal
  • Drawer
  • Tooltip
  • Popover
  • Toast
  • ContextMenu
  • Tabs
  • Accordion
  • Reveal
  • Autocomplete
  • Tags
  • Range
  • DatePicker
  • Upload
  • Cropper
  • Table
  • Tree
  • Editor

Company

  • Home
  • Plugins
  • Developer Tools
  • Showcase
  • Our Process
  • About Us
  • Contact

Policies

  • Terms and Conditions
  • Privacy Policy
  • Accessibility Policy
  • Cookie Policy

© 2026 GetSet. All rights reserved.

Crafted for frontend excellence.

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Forms Plugin

GS Range

Range slider with single/range/multiple thumbs, marks, tooltips, vertical mode, connect fill, keyboard control and RTL.

Latest: v1.0.2
Downloads last month: 175
Visit Demo Website

Install Package

npm i @get-set/gs-range
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-range/latest/gs-range.min.css">
<script src="https://cdn.get-set.it/gs-range/latest/gs-range.min.js"></script>
Interactive Playground

Live Sandbox

Range.jsx
1
2
3
4
5
6
7
8
9
import Range from '@get-set/gs-range';

export default function App() {
  return (
    <Range>
      <div className="content">Your Range content</div>
    </Range>
  );
}
Live Preview

Options

Configuration Values

Reference?Reference option.
Min?Lowest selectable value.
Max?Highest selectable value.
Step?Snap increment. Default: 1.
Mode?Slider mode: `single` (number), `range` (two thumbs, tuple) or `multiple` (N thumbs, array).
Value?Initial value. A number for `single`, a `[low, high]` tuple for `range`, or a `number[]` for `multiple`.
Default Value?Alias of `value` for the uncontrolled initial value (React parity).
Marks?Tick marks configuration.
Tooltip?Tooltip visibility. Default: 'hover'.
Tooltip Placement?Where the tooltip sits relative to the thumb.
Min Gap?Minimum gap (in value units) kept between adjacent thumbs.
Decimals?Decimal places used to round + display the value.
Keyboard Step?Amount a single Arrow press changes the value.
Page Step?Amount PageUp / PageDown changes the value.
Theme?Visual theme. `auto` follows prefers-color-scheme.
Accent Color?Accent color (CSS var --gsr-accent).
Size?Component size preset.
Class Name?Extra class name applied to the root element.
Aria Label?aria-label applied to each thumb.

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneReference.
minnumber0Lowest selectable value. Default: 0.
maxnumber100Highest selectable value. Default: 100.
stepnumber1Snap increment. Default: 1. `0` allows continuous values.
modeGSRangeMode'single'Slider mode: `single` (number), `range` (two thumbs, tuple) or `multiple` (N thumbs, array). Default: 'single'.
valueGSRangeValuenoneInitial value. A number for `single`, a `[low, high]` tuple for `range`, or a `number[]` for `multiple`. Defaults to `min` (single) / `[min, max]` (range) / `[min, max]` (multiple).
defaultValueGSRangeValuenoneAlias of `value` for the uncontrolled initial value (React parity).
connectbooleantrueRender the filled/connected portion between thumbs (or from the start to the single thumb). Default: true.
marksGSRangeMarksfalseTick marks configuration. `false` (default), `true` (every step), a number interval, a values array, or a `{value,label}` array.
snapToMarksbooleanfalseSnap the thumb to the nearest mark when marks are present. Default: false.
tooltipGSRangeTooltip'hover'Tooltip visibility. Default: 'hover'.
tooltipFormatGSRangeFormatternoneTooltip / aria value formatter.
tooltipPlacementGSRangeTooltipPlacement'top'Where the tooltip sits relative to the thumb. Default: 'top'.
verticalbooleanfalseRender vertically (bottom = min, top = max). Default: false.
rtlbooleanfalseRight-to-left layout (horizontal only). Default: false.
disabledbooleanfalseDisable all interaction and dim the control. Default: false.
readOnlybooleanfalseRead-only: value cannot be changed but the control is not dimmed. Default: false.
pushablebooleanfalsePrevent thumbs from crossing; push the neighbour instead, keeping at least `minGap` between them. Default: false.
minGapnumber0Minimum gap (in value units) kept between adjacent thumbs. Default: 0.
decimalsnumbernoneDecimal places used to round + display the value. Default: inferred from `step`.
keyboardStepnumbernoneAmount a single Arrow press changes the value. Default: `step`.
pageStepnumbernoneAmount PageUp / PageDown changes the value. Default: `step * 10`.
themeGSRangeTheme'auto'Visual theme. `auto` follows prefers-color-scheme. Default: 'auto'.
accentColorstringnoneAccent color (CSS var --gsr-accent).
sizeGSRangeSize'md'Component size preset. Default: 'md'.
customClassGSRangeCustomClassnonePer-part class overrides.
classNamestringnoneExtra class name applied to the root element.
reducedMotion'auto' | boolean'auto'Honor `prefers-reduced-motion`. `'auto'` follows the OS setting; `true` always reduces; `false` never reduces. Default: 'auto'.
ariaLabelstringnonearia-label applied to each thumb.
ariaLabelsstring[]nonePer-thumb aria-labels (indexed).

Technical Features

Multi-Thumb

Single, range or many handles.

Marks & Tooltips

Labelled ticks and value bubbles.

Vertical Mode

Horizontal or vertical orientation.

RTL Support

Right-to-left aware track and thumbs.