1.0.1 • Published 5 years ago

react-html-range v1.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

React HTML Range Input

A simple React component for the HTML range input.

Implementation Guide

1. Installation
  • Yarn:

    yarn add react-html-range

  • NPM:

    npm install react-html-range --save

2. Use
import React from 'react';

// Import the component
import HtmlRange from 'react-html-range';

function MyComponent({ value, onValueChange, stylesObject }) {
	// Use the component
	return (
		<HtmlRange
			name="foo"
			label="bar"
			min={0}
			max={10}
			step={1}
			value={value}
			onInputChange={onValueChange}
			styles={stylesObject}
		/>
	);
}

API

NameTypeDefaultDescription
namestringNoneUsed as the name property on the input.
labelstringNoneUsed as the label for the input.
minnumber0The minimum value of the range.
maxnumber10The maximum value of the range.
stepnumber1The incremental value of the range.
valuenumberNoneThe value of the range.
onInputChangefunctionNoneThe callback function for the onChange event on the input.
stylesobject{}Controls the styling of the HtmlRange component. See the Styling section for more information.

Styling

Styling can be done by providing an object to the styles property of the component. This object accepts three nested objects - wrapperStyles, labelStyles, and inputStyles - that can be used to apply styles to html nodes just as you typically would in React (camel-case CSS properties). The fourth nested object - otherStyles - can be used to apply further styling.

otherStyles

NameDefaultPurpose
ballColor#444The color of the range track ball.
ballSize20pxThe width and height of the range track ball.
ballBorder3px solid #fffThe border surrounding the range track ball.
trackHeight3pxThe height of the range's track.
trackFilledColor#00697bThe filled color of the track.
trackEmptyColor#e0e0e0The unfilled color of the track.

Example Styles Object

const styles = {
	// CSS property objects
	wrapperStyles: { marginTop: '10px' },
	labelStyles: { color: 'red' },
	inputStyles: { width: '400px' },
	// Custom property object
	otherStyles: {
		ballColor: '#444',
		ballSize: '20px',
		ballBorder: '3px solid #fff',
		trackHeight: '3px',
		trackFilledColor: '#00697b',
		trackEmptyColor: '#e0e0e0'
	}
};

Creator

Curtis