react-simple-range
v2.0.0
Published
A simple React component to input a number between a min and a max value using a slider
Downloads
1,959
Maintainers
Readme
react-simple-range
A simple React slider component for inputting a number value within a range.
Install
npm install react-simple-range --save
Usage
Import React and this component using your chosen module bundler:
import React from 'react';
import ReactDOM from 'react-dom';
import ReactSimpleRange from 'react-simple-range';
const rootElement = document.getElementById('app');
ReactDOM.render(<ReactSimpleRange />, rootElement);
Props
Name | Type | Default | Description
---|---|---|---
min | number | 0 | Minimum slider value
max | number | 100 | Maximum slider value
step | number | 1 | Number inc/decremented when slider value is changed. The range of the slider (max - min) should be evenly divisible by this
id | string | null
| Identifier that is passed to the onChange handler (see below)
onChange | function | NOOP | Function to be called when the slider value changes - your slider will have no effect without this! See below for more information
onChangeComplete | function | NOOP | Function to be called when user interaction finishes, sends the same values as the onChange handler, the only difference is they get sent when the interaction has ended
defaultValue | number | 0 | Set initial value of slider
vertical | boolean | false
| Set slider to vertical when true
verticalSliderHeight | string | 100px
| Default slider height if vertical. If your slider already has a fixed height wrapper, just set this to 100%
and the slider will fill the space
eventWrapperPadding | number | 8 | Px value to add padding to the wrapper to make small sliders easier to interact with
label | boolean | false
| If true, adds a label displaying the slider's value when interacted with
disableThumb | boolean | false
| Disables the thumb when true
disableTrack | boolean | false
| Disables the track when true
sliderSize | number | 4 | Px height of slider if horizontal, width if vertical
thumbSize | number | sliderSize * 2
| Height and width of thumb in px
sliderColor | string | #9E9E9E
| Color of slider
trackColor | string | #03A9F4
| Color of track and label
thumbColor | string | #fff
| Color of thumb
customThumb | element | undefined
| Pass in a single React element to use as your thumb, replacing the default
Change handlers
onChange
The onChange handler receives the following arguments:
- an object containing the current slider
value
andratio
(percentage of bar filled) - the
id
prop of the slider
onChangeComplete
An alternative change handler which only sends the argument at the end of the mouse drag
Contributing
PRs are welcome. Submit issues for any bugs or feature requests.
Commands for local dev
Name | Effect
:---|:---
npm start
| Runs react-styleguidist, serving examples at http://localhost:6060/
npm run test
| Runs tests with jest
npm run test:watch
| Runs tests in watch mode