All Projects â†’ tjallen â†’ react-simple-range

tjallen / react-simple-range

Licence: MIT license
🔉 React slider component for inputting a numeric value within a range.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to react-simple-range

React Slider
Accessible, CSS agnostic, slider component for React.
Stars: ✭ 627 (+3035%)
Mutual labels:  slider, react-component, range
Rangetouch
A super tiny library to make `<input type='range'>` sliders work better on touch devices
Stars: ✭ 224 (+1020%)
Mutual labels:  input, slider, range
React Currency Input Field
React component for an input field
Stars: ✭ 111 (+455%)
Mutual labels:  input, react-component
React Code Input
React component for entering and validating PIN code.
Stars: ✭ 207 (+935%)
Mutual labels:  input, react-component
TimeRangePicker
A customizable, easy-to-use, and functional circular time range picker library for Android. Use this library to mimic Apple's iOS or Samsung's bedtime picker.
Stars: ✭ 266 (+1230%)
Mutual labels:  slider, range
Vue Ctk Date Time Picker
VueJS component to select dates & time, including a range mode
Stars: ✭ 707 (+3435%)
Mutual labels:  input, range
Angular Datetime Range
📅 Angular directive for datetime range input
Stars: ✭ 27 (+35%)
Mutual labels:  input, range
React Intl Tel Input
Rewrite International Telephone Input in React.js. (Looking for maintainers, and PRs & contributors are also welcomed!)
Stars: ✭ 212 (+960%)
Mutual labels:  input, react-component
react-star-ratings
A customizable svg star rating component for selecting x stars or visualizing x stars
Stars: ✭ 128 (+540%)
Mutual labels:  input, react-component
react-ratings-declarative
A customizable rating component for selecting x widgets or visualizing x widgets
Stars: ✭ 41 (+105%)
Mutual labels:  input, react-component
insect
🛠 Highly customisable, minimalistic input x select field for React.
Stars: ✭ 33 (+65%)
Mutual labels:  input, react-component
react-native-slider-intro
A simple and fully customizable React Native component that implements an intro slider for your app
Stars: ✭ 80 (+300%)
Mutual labels:  slider, react-component
Input Range Scss
Styling Cross-Browser Compatible Range Inputs with Sass
Stars: ✭ 272 (+1260%)
Mutual labels:  input, range
React Telephone Input
React component for entering and validating international telephone numbers
Stars: ✭ 254 (+1170%)
Mutual labels:  input, react-component
Tagify
🔖 lightweight, efficient Tags input component in Vanilla JS / React / Angular / Vue
Stars: ✭ 2,305 (+11425%)
Mutual labels:  input, react-component
jquery-rsSliderLens
UI slider control that magnifies the current value
Stars: ✭ 20 (+0%)
Mutual labels:  input, range
range-slider
Customizable slider (range) component for JavaScript with no dependencies
Stars: ✭ 26 (+30%)
Mutual labels:  slider, range
React Slider Kit
react-slider-kit is going to be a comprehensive solution to slider feature in react.
Stars: ✭ 219 (+995%)
Mutual labels:  slider, range
mighty-input
Text input for modern web
Stars: ✭ 20 (+0%)
Mutual labels:  input, react-component
vue-histogram-slider
Range slider with histogram for Vue.js
Stars: ✭ 111 (+455%)
Mutual labels:  slider, range

react-simple-range

npm version travis build

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 and ratio (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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].