JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 171
  • Score
    100M100P100Q100521F
  • License MIT

A range slider component for React

Package Exports

  • @gilbarbara/react-range-slider
  • @gilbarbara/react-range-slider/esm/index.js
  • @gilbarbara/react-range-slider/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@gilbarbara/react-range-slider) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

react-range-slider

npm version CI Maintainability Test Coverage

A range slider component for React

View the demo

Installation

npm i @gilbarbara/react-range-slider

Usage

import React, { useState } from 'react';
import RangeSlider, { RangeSliderPosition, RangeSliderProps } from '@gilbarbara/react-range-slider';

export default function App() {
    const [x, setX] = useState(10);

    const handleChange = (position: RangeSliderPosition, props: RangeSliderProps) => {
        setX(position.x);
    };

    return <RangeSlider axis="x" x={x} onChange={handleChange} />;
}

Props

axis {'x' | 'y' | 'xy'} ▶︎x
Type of slider

x {number}
Use with axis x or xy

xMin {number} ▶︎0
Min value of X

xMax {number} ▶︎100
Max value of X

xStep {number} ▶︎1
Step of X

y {number}
Use with axis y or xy

yMin {number} ▶︎0
Min value of Y

yMax {number} ▶︎100
Max value of Y

yStep {number} ▶︎1
Step of Y

onAfterEnd {function}
It is called after the slider changed (click or drag)

onChange {function}
It is called for each step

onDragEnd {function}
It is called after dragging the thumb

Customization

You can customize the UI with a styles prop. Check out styles.ts for more information.

<RangeSlider
  ...
  styles={{
    height: '10px',
    trackBorderRadius: 0,
  }}
/>

License

MIT