2.0.0 • Published 10 months ago

react-scrubber v2.0.0

Weekly downloads
527
License
MIT
Repository
github
Last release
10 months ago

react-scrubber

A simple React scrubber component with touch controls, styling, and event handlers. Integrated TypeScript support. See more information and a live demo at https://nick-michael.github.io/react-scrubber/

The code for the above demo can be found inside the repository in the '/demo' folder.

Dependencies

React is listed as a peer dependency. React should be added as a dependency to your project. The component provides its styling with a CSS stylesheet (scrubber.css) file, so you'll need to import it and have webpack set up to handle css imports. The typical combination of style-loader and css-loader works great!

Usage

import  React, { Component } from  'react';
import { Scrubber, ScrubberProps } from 'react-scrubber';
// Note: ScrubberProps is a TypeScript interface and is not used for JS projects

import 'react-scrubber/lib/scrubber.css'

class App extends Component {
  state = {
    value: 50,
    state: 'None',
  }

  handleScrubStart  = (value:  number) => {
    this.setState({ value, state:  'Scrub Start' });
  }

  handleScrubEnd  = (value:  number) => {
    this.setState({ value, state:  'Scrub End' });
  }

  handleScrubChange  = (value:  number) => {
    this.setState({ value, state:  'Scrub Change' });
  }

  render() {
    return (
      <div  className="scrubber-container"  style={{ height:  '20px' }}>
        <Scrubber
          min={0}
          max={100}
          value={this.state.value}
          onScrubStart={this.handleScrubStart}
          onScrubEnd={this.handleScrubEnd}
          onScrubChange={this.handleScrubChange}
        />
      </div>
    );
  }
}

Props

NameTypeRequiredDescription
classNamestringNoSets the class name for the scrubber div
valuenumberYesSet current value of slider
minnumberYesThe minimum value of the slider
maxnumberYesThe maximum value of the slider
bufferPositionnumberNoSome number higher than the value, used to render a 'buffer' indicator
verticalbooleanNoThe scrubber will render vertically
onScrubStartfunctionNoCalled on mouse down or touch down
onScrubEndfunctionNoCalled on mouse up or touch up while scrubbing
onScrubChangefunctionNoCalled on mouse move while scrubbing
onMouseMovefunctionNoCalled with the scrub value of the cursor position when the mouse moves inside the scrubber element
onMouseOverfunctionNoCalled with the scrub value of the cursor position when the mouse enters scrubber element
onMouseLeavefunctionNoCalled with the scrub value of the cursor position when the mouse leaves scrubber element
markersArray<number | { start: number, end?: number, className?: string }>NoAdds yellow indicators to the scrubber bar
tooltip{ enabledOnHover?: boolean; enabledOnScrub?: boolean; className?: string; formatString?: (value: number) => string;}NoRenders a tooltip while hovering/scrubbing
custom propsanyNoAny other props will be applied to the outermost 'scrubber' div
1.2.0

10 months ago

2.0.0

10 months ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

4 years ago

0.4.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago