UNPKG

react-custom-slider

Version:

a very easy to use customizable slider for React

92 lines (76 loc) 3.37 kB
# react-custom-slider > a very easy to use customizable slider for React - easy to use - no dependencies - flexible (few required parameters but highly customizable) [![NPM](https://img.shields.io/npm/v/react-custom-slider.svg)](https://www.npmjs.com/package/react-custom-slider) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) ![sliders](https://github.com/jonisapp/react-custom-slider/blob/master/images/sliders.jpg?raw=true) ## Install ```bash npm install --save react-custom-slider ``` ## Usage ```jsx import React from 'react' import Slider from 'react-custom-slider'; const App = () => { const [ value, setValue ] = React.useState(0); return( <div> <Slider value={value} markersSize={20} trackLength={250} markers={11} onChange={(value) => setValue(value)} valueRenderer={(value) => `${value}%`} /> </div> ) }; export default App; ``` ## Props | Prop | Type | Description | |------|------|-------------| | `value` | number (required) | continuously updated value | | `defaultValue` | number (required) | initial value | | `showValue` | true, false, 'active' | displays current value on a label | | `valueLabelColor` | string | | | `valueLabelActiveColor` | string | | | `valueLabelPadding` | number | | | `valueLabelStyle` | object | user custom style for value label | | `min` | number | min slider value | | `max` | number | max slider value | | `stepSize` | number | interval between 2 steps (default is 1) | | `disabled` | boolean | | | `disabledColor` | string | color used when the slider is disabled | | `onChange` | function (callback) | called every time value changes ( value as argument) | | `onRelease` | function (callback) | called once slider is released ( value as argument) | | `valueRenderer` | function (callback) | used by value label (to display a unit such as %) | | `trackLength` | number | track's height or width (depending on the orientation) | | `trackColor` | string | | | `trackThickness` | number | | | `trackShape` | 'squared', 'rounded' | | | `trackStyle` | object | user custom styling for track | | `fillTrack` | boolean | | | `fillColor` | string | | | `handlerSize` | number | sets handler diameter (both width and height) | | `handlerWidth` | number | | | `handlerHeight` | number | | | `handlerShape` | 'squared', 'rounded' | | | `handlerColor` | string | | | `handlerBorderColor` | | | `handlerActiveColor` | string | handler color when slider is being used | | `handlerStyle` | object | user custom styling for handler | | `fontSize` | number | used by markers | | `fontColor` | string | used by markers | | `markers` | number | numbers of markers to display | | `markersSize` | number | markers container's height or width (depending on the orientation) | | `showMarkers` | true, false, 'hidden', 'active', 'inactive' | 'active' displays the markers only when slider is beeing used, 'inactive' the opposite | | `grabCursor` | boolean | when true shows a grabbing cursor as slider is beeing used | | `vertical` | boolean | slider's layout horizontal or vertical | | `invertMarkers` | boolean | switch slider and markers positions | | `style` | object | user custom style for slider's root container | ## License MIT © [jonisapp](https://github.com/jonisapp)