# react-native-easy-slider

> React-Native (Android,iOS) and React-Native-Web supported pure JS slider component with multiple markers

Latest version **0.1.0** (published 2019-06-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-easy-slider
pnpm add react-native-easy-slider
yarn add react-native-easy-slider
bun add react-native-easy-slider
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2019-06-23 |
| First published | 2019-06-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 275.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | hossein mohammadi |
| Maintainers | hosseinmdeveloper |
| Keywords | react-native-easy-slider, react-component, react-components, react, native, slider, multiple, react-native, component, ios, android, react-native-web, hossein mohammadi |

## Links

- npm: https://www.npmjs.com/package/react-native-easy-slider
- Repository: https://github.com/hosseinmd/react-native-easy-slider
- Homepage: https://github.com/hosseinmd/react-native-easy-slider#readme
- Issues: https://github.com/hosseinmd/react-native-easy-slider/issues
- npm.io page: https://npm.io/package/react-native-easy-slider

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.1.0 (latest) — 2019-06-23
- 0.0.1 — 2019-06-23

## README

# react-native-easy-slider

Pure JS react native slider component with one or two markers.
Options to customize track, touch area and provide customer markers and callbacks for touch events and value changes.

[![NPM](https://nodei.co/npm/react-native-easy-slider.png)](https://nodei.co/npm/react-native-easy-slider/)

[![install size](https://packagephobia.now.sh/badge?p=react-native-easy-slider)](https://packagephobia.now.sh/result?p=react-native-easy-slider) [![dependencies](https://david-dm.org/hosseinmd/react-native-easy-slider.svg)](https://david-dm.org/hosseinmd/react-native-easy-slider.svg)

![Example](https://raw.githubusercontent.com/hosseinmd/react-native-easy-slider/master/docs/demo.gif)

## Getting Started

- [Installation](#installation)

### Installation

```npm
npm install --save react-native-easy-slider
```

```npm
yarn add react-native-easy-slider
```

### Usage in a ScrollView

```javascript
 enableScroll = () => this.setState({ scrollEnabled: true });
 disableScroll = () => this.setState({ scrollEnabled: false });

 render() {
   return (
     <ScrollView scrollEnabled={this.state.scrollEnabled}>
      <MultiSlider
        ...
        onValuesChangeStart={this.disableScroll}
        onValuesChangeFinish={this.enableScroll}
      />
    </ScrollView>
    );
```

### shape up CustomMarker as left and right

In order to make different styles on markers you can set isMarkersSeparated to true, define customMarkerLeft and customMarkerRight in MultiSlider. for example:

```javascript
<MultiSlider
     ...
      isMarkersSeparated={true}

      customMarkerLeft={(e) => {
         return (<CustomSliderMarkerLeft
          currentValue={e.currentValue}/>)
          }}

         customMarkerRight={(e) => {
         return (<CustomSliderMarkerRight
         currentValue={e.currentValue}/>)
         }}
     />

```

### Partial report of the props

Feel free to contribute to this part of the documentation.

|                                     Prop name                                     |                         Default value                         |       Type        |                                                                                                                                                    Purpouse                                                                                                                                                    |
| :-------------------------------------------------------------------------------: | :-----------------------------------------------------------: | :---------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|                                      values                                       |                              [0]                              | array of numbers  |                                                                                                                                         Prefixed values of the slider.                                                                                                                                         |
|                                onValuesChangeStart                                |                           () => {}                            |     function      |                                                                                                                                    Callback when the value starts changing                                                                                                                                     |
|                                  onValuesChange                                   |                           () => {}                            |     function      |                                                                                                                                        Callback when the value changes                                                                                                                                         |
|                               onValuesChangeFinish                                |                        (values) => {}                         |     function      |                                                                                                                                     Callback when the value stops changing                                                                                                                                     |
|                                   sliderLength                                    |                              280                              |      number       |                                                                                                                                            Length of the slider (?)                                                                                                                                            |
|                                  touchDimensions                                  | {height: 50,width: 50,borderRadius: 15,slipDisplacement: 200} |      object       |                                                                                                                                                      (?)                                                                                                                                                       |
|                                   customMarker                                    |                                                               |     function      |                                                                                                                                         Component used for the cursor.                                                                                                                                         |
|                                 customMarkerLeft                                  |                                                               |     function      |                                                                                                                                      Component used for the left cursor.                                                                                                                                       |
|                                 customMarkerRight                                 |                                                               |     function      |                                                                                                                                      Component used for the right cursor.                                                                                                                                      |
|                                isMarkersSeparated                                 |                                                               |      boolean      |                                                                                                                                                      (?)                                                                                                                                                       |
|                                        min                                        |                               0                               |      number       |                                                                                                                                     Minimum value available in the slider.                                                                                                                                     |
|                                        max                                        |                              10                               |      number       |                                                                                                                                     Maximum value available in the slider.                                                                                                                                     |
|                                       step                                        |                               1                               |      number       |                                                                                                                                           Step value of the slider.                                                                                                                                            |
|                                   optionsArray                                    |                                                               | array of numbers  |                                                                                                                              Possible values of the slider. Ignores min and max.                                                                                                                               |
| {container/track/selected/unselected/ markerContainer/marker/pressedMarker} Style |                                                               |   style object    |                                                                                                                                             Styles for the slider                                                                                                                                              |
|                                    valuePrefix                                    |                                                               |      string       |                                                                                                                                           Prefix added to the value.                                                                                                                                           |
|                                    valueSuffix                                    |                                                               |      string       |                                                                                                                                           Suffix added to the value.                                                                                                                                           |
|                                    enabledOne                                     |                             true                              |      boolean      |                                                                                                                                            Enables the first cursor                                                                                                                                            |
|                                    enabledTwo                                     |                             true                              |      boolean      |                                                                                                                                           Enables the second cursor                                                                                                                                            |
|                                    onToggleOne                                    |                           undefined                           | function callback |                                                                                                                                      Listener when first cursor toggles.                                                                                                                                       |
|                                    onToggleTwo                                    |                           undefined                           | function callback |                                                                                                                                      Listener when second cursor toggles.                                                                                                                                      |
|                                   allowOverlap                                    |                             false                             |      boolean      |                                                                                                                                     Allow the overlap within the cursors.                                                                                                                                      |
|                                      snapped                                      |                             false                             |      boolean      |                                                                                                  Use this when you want a fixed position for your markers, this will split the slider in N specific positions                                                                                                  |
|                                   markerOffsetX                                   |                               0                               |      number       |                                                                                                                                              Offset first cursor.                                                                                                                                              |
|                                   markerOffsetY                                   |                               0                               |      number       |                                                                                                                                             Offset second cursor.                                                                                                                                              |
|                             minMarkerOverlapDistance                              |                               0                               |      number       | if this is > 0 and allowOverlap is false, this value will determine the closest two markers can come to each other. This can be used for cases where you have two markers large cursors and you don't want them to overlap. Note that markers will still overlap at the start if starting values are too near. |

---
_Source: https://npm.io/package/react-native-easy-slider · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
