Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
ab4780b
Improve multislider
sibelius Dec 5, 2017
8a28b0c
fix closest func
sibelius Dec 5, 2017
0adf85d
fix typo
sibelius Dec 5, 2017
d1113f9
remove console.log
sibelius Dec 5, 2017
7398724
Merge pull request #47 from entria/feature/multisliderImprovements
ptomasroos Dec 12, 2017
6158e32
Fix valueToPosition converter
jakubzaba Jan 4, 2018
41fcd98
ignore termanation request
skv-headless Jan 5, 2018
b92c855
Merge pull request #51 from ptomasroos/ignore-termination-request
ptomasroos Jan 5, 2018
9025ac6
Merge pull request #50 from jakubzaba/fix-value-to-position
ptomasroos Jan 6, 2018
7887ff3
return old createArray implementation
skv-headless Jan 9, 2018
2f83b6b
Merge pull request #52 from skv-headless/fix-android
ptomasroos Jan 9, 2018
6eaee42
Updated version to 0.0.11
ptomasroos Sep 5, 2017
de591d6
Bumped version to 0.0.12
ptomasroos Feb 4, 2018
3eb8937
Updated CHANGELOG
ptomasroos Feb 4, 2018
33703a8
Add currentValue prop type to DefaultMarker component.
oleksii-trekhleb-epam Feb 15, 2018
739aaea
Merge pull request #60 from trekhleb/master
ptomasroos Feb 15, 2018
1cb220b
Added ISSUE_TEMPLATE.md
ptomasroos Mar 25, 2018
79be9e0
Added explicit ScrollView example
ptomasroos Apr 1, 2018
cf9efb4
update
Apr 11, 2018
1aa0ec4
update
Apr 11, 2018
155dc66
update
Apr 11, 2018
74e3d95
update
Apr 11, 2018
c356452
Update MultiSlider.js
alexfoxy Apr 11, 2018
1b0a809
update
Apr 11, 2018
ee54ece
update
Apr 11, 2018
ebcdff4
update
Apr 11, 2018
cc01724
update
Apr 11, 2018
6d1ce3a
update
Apr 11, 2018
8e3fe62
update
Apr 11, 2018
45f15be
update
Apr 11, 2018
dd257c7
update
Apr 11, 2018
3790d4d
update
Apr 11, 2018
f682b42
update
Apr 11, 2018
77511ac
update
Apr 11, 2018
d164388
update
Apr 11, 2018
329edfc
update
Apr 11, 2018
63a6340
update
Apr 11, 2018
7b5d5a8
update
Apr 11, 2018
a6b49c4
Merge pull request #68 from alexfoxy/master
ptomasroos Apr 17, 2018
07b1d31
customerMarker update doc
aligulen Apr 17, 2018
0c0c5bc
ternary condition added in MultiSlider.js
aligulen Apr 17, 2018
be1e90a
Improve closest function
Apr 19, 2018
c46f15a
Merge pull request #67 from sadeghipour/master
ptomasroos Apr 20, 2018
03f8824
Merge pull request #69 from elieteyssedou/master
ptomasroos Apr 20, 2018
5b5cc93
add RTL support
iamsoorena Apr 23, 2018
8a4b883
Updated CHANGELOG
ptomasroos Apr 23, 2018
9ac7cee
Bumped version number
ptomasroos Apr 23, 2018
5f9746e
refactoring
iamsoorena Apr 24, 2018
aaf8b12
Merge pull request #71 from iamsoorena/add-rtl-support
ptomasroos Apr 24, 2018
3d602c9
Updated CHANGELOG
ptomasroos Apr 26, 2018
b43c521
Bumped version number
ptomasroos Apr 26, 2018
2102758
Vertically centered slider
mrxrinc Apr 28, 2018
d67320b
Typo
ptomasroos Jun 5, 2018
80efe6a
Added ability to make slider vertical
Kif11 Jun 28, 2018
260db77
Added vertical rotate to slider container
Kif11 Jun 28, 2018
d61167b
Merge pull request #74 from mrxrinc/patch-1
ptomasroos Jun 29, 2018
624c251
Updated latest fix
ptomasroos Jun 29, 2018
8ea78f5
Bumped version to 1.0.0
ptomasroos Jun 29, 2018
1a6c91f
Changed slider rotation direction and added accumDistanceDisplacement
Kif11 Jun 29, 2018
ccf2fda
Merge pull request #81 from Kif11/master
ptomasroos Jul 3, 2018
ce5c547
Removed prop-types since they are going away from React
ptomasroos Oct 26, 2018
342dc40
Updated LICENSE file
ptomasroos Oct 26, 2018
1892256
Removed dead code
ptomasroos Oct 26, 2018
94a5ea0
Removed prop-types
ptomasroos Oct 26, 2018
efaae14
Replaced eslint with prettier and precommit hooks
ptomasroos Oct 26, 2018
2a4cce0
Added new Basic example based on rn 0.57
ptomasroos Oct 26, 2018
fb0d4b5
Removed old example
ptomasroos Oct 26, 2018
f0ee285
Updated props documentation
gbertoncelli Oct 31, 2018
8c461d7
Merge pull request #93 from HighSoftWare96/master
ptomasroos Oct 31, 2018
21b43e2
Added original contributor Jack Rans
ptomasroos Oct 31, 2018
2527b99
Don’t wanna get sued for improving a project.
ptomasroos Nov 2, 2018
b9b0192
feat(docs): add docs for snapped props, fix #97 (#98)
sibelius Nov 14, 2018
a716cd5
feat(docs): update description for optionsArray (#107)
julioxavierr Feb 12, 2019
b8bf645
Fix path to Example in README (#109)
itinance Feb 20, 2019
81cdd03
Add prop minMarkerOverlapDistance to allow setting a custom value for…
dyihoon90 Mar 28, 2019
23ca9bf
fixed marker error (#99)
vidit-bhatia Mar 28, 2019
410221b
Dynamic Label (#117)
olahat90 Jun 13, 2019
660455a
Add support for ImageBackground (#120)
FrikkieSnyman Jun 14, 2019
c9383e4
Add touch support on selected track (#121)
FrikkieSnyman Jun 14, 2019
bb2d20e
Remove `styles.marker` from Marker and MarkerLeft styles (#119)
FrikkieSnyman Jun 14, 2019
ab5ad5b
add disabledMarkerStyle prop for custom styling of disabled marker (#…
stevenvz Jun 14, 2019
adef9bb
improve styles for support web (react-native-web) (#126)
hosseinmd Jun 16, 2019
c98d452
Bumped version to 2.0.0
ptomasroos Oct 28, 2019
47c14f6
Remove duplicate track. (#139)
robwalkerco Oct 28, 2019
e254be2
Removed deprecated methods (#155)
mitaxe Feb 4, 2020
d62d88d
Update example to 0.61.5 (#158)
baconcheese113 Feb 6, 2020
e5d28ef
Clarify example setup with metro resolving
ptomasroos Feb 7, 2020
75e9242
valueOne was missing in the getDerivedStateFromProps func
ptomasroos Feb 7, 2020
44db0e4
Closes #165
ptomasroos Feb 12, 2020
16f0e65
Removed getDerivedState -> componentDidUpdate (#163)
ptomasroos Feb 20, 2020
e257ec4
Corrected path in npmignore
ptomasroos Feb 21, 2020
f529753
Bump version
ptomasroos Feb 21, 2020
a9ce6f1
add types (#159)
FrikkieSnyman Feb 21, 2020
60a4fa5
Add `types` property to package.json (#177)
darkwebdev Mar 22, 2020
a068029
Add `vertical` to type definitions (#176)
darkwebdev Mar 22, 2020
b4240ce
Add `vertical` prop to readme (#178)
darkwebdev Mar 22, 2020
5705a22
update the docs (#175)
97thjingba Mar 23, 2020
91028aa
Update README.md
ptomasroos Mar 23, 2020
c02f7bc
Bump version to 2.2.1
ptomasroos Mar 26, 2020
67f0302
Fix labels (#180)
darkbasic Mar 27, 2020
fdf5836
Bump version
ptomasroos Mar 27, 2020
95e4509
Allow creation of custom labels with personalized values for min/max …
darkbasic Mar 28, 2020
9a6e257
[Marker] Move markers on opposite directions by x offset (#188)
CareLuLu-Gabriel Apr 15, 2020
f74971d
fixed converters/valueToPosition (#190)
rainst May 14, 2020
c10612d
Enabled usage of height and width props from Touch Dimensions on Mark…
thiagofsr97 May 15, 2020
f09ffcc
Clean up indentations (#197)
coreyar Jun 1, 2020
94fb574
Fix #45 (#196)
raynor85 Jul 3, 2020
b494955
Update README.md for Fix #45 and Fix #199 (#200)
raynor85 Aug 19, 2020
d0bf770
Fix/reenable allow overlap for large sliders (#209)
AmauryLiet Sep 1, 2020
920d716
Feat/enable expressing overlap distance in step (#210)
AmauryLiet Sep 1, 2020
33ed926
Feat/Add testID prop for locating the view in end-to-end tests (#212)
jamesl1001 Oct 21, 2020
56325ec
Center default label above marker (#221)
ja-ka Jan 3, 2021
38eb810
Feature - Adding step labeling (#213)
gusolsso Feb 3, 2021
7919a26
show please how to import (#256)
shay-te Jan 26, 2022
5a6fd95
fix: readme "cannot be combined with" (#273)
shrihari1999 Apr 25, 2024
e369d98
Add missing disabledMarkerStyle (#250)
Reeywhaar Apr 25, 2024
368a0e8
Added recommendations around with major step generation
ptomasroos Apr 25, 2024
ea22967
Update MultiSlider.js (#289)
atomfried Nov 9, 2024
9d981ee
add markers onMove function
Nov 23, 2017
4436007
add markers onMove function
Nov 23, 2017
01dac81
add markers onMove function
Nov 23, 2017
693935e
Merge branch 'master' into feature/sync-upstream
Jinwoong-Hwang May 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!--
Thanks for reporting a issue!

In order to be able to help out I need you to provide a
reproduction repository. That means you should provide a reachable repository which reproduces the issue you're experiencing.

This will greatly improve the chance for you to get the bug fixed and me to be able to find it.
-->

- [ ] I have searched [existing issues](https://github.com/ptomasroos/react-native-multi-slider/issues)
- [ ] I am using the [latest multi slider version](https://www.npmjs.com/package/@ptomasroos/react-native-multi-slider)

<!--
Describe your issue in detail.
-->

## Steps to Reproduce
<!--
Required. Let us know how to reproduce the issue. Include a code sample or issue will be closed.
-->

## Expected Behavior
<!--
Write what you thought would happen.
-->

## Actual Behavior
<!--
Write what happened. Include screenshots if needed.
-->
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,5 @@ project.xcworkspace
#
node_modules/
npm-debug.log
.idea/
*.lock
4 changes: 3 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
docs/
example/
examples/
.idea/
node_modules/
5 changes: 5 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
bracketSpacing: true,
singleQuote: true,
trailingComma: 'all',
};
27 changes: 27 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
# 1.0.0
- Vertically centered slider

# 0.0.14
- RTL support

# 0.0.13
- Pass currentValue to Markers
- Missing var statement
- Allow different types of left and right markers in a single slider
- Improvements on marker alignment on large gaps

# 0.0.12

Various updates:

- modernize converters code
- valueToPosition uses closest index function
- improve cWRP to handle min, max properly changes
- fix wierd bug on multiple values
- fixed valueToPosition again
- ignore termination request

# 0.0.11

Updated ViewProps to support older versions

# 0.0.10

BREAKING: Updated PropTypes imports for React 16
Expand Down
80 changes: 80 additions & 0 deletions DefaultLabel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import React from 'react';
import PropTypes from 'prop-types';

import { View, Text, StyleSheet } from 'react-native';

const sliderRadius = 3;
const width = 50;
export default class DefaultLabel extends React.Component {
static propTypes = {
oneMarkerValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
twoMarkerValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),

oneMarkerLeftPosition: PropTypes.number,
twoMarkerLeftPosition: PropTypes.number,

oneMarkerPressed: PropTypes.bool,
twoMarkerPressed: PropTypes.bool,
};

render() {
const {
oneMarkerValue,
twoMarkerValue,
oneMarkerLeftPosition,
twoMarkerLeftPosition,
oneMarkerPressed,
twoMarkerPressed,
} = this.props;

return (
<View style={{ position: 'relative' }}>
{Number.isFinite(oneMarkerLeftPosition) &&
Number.isFinite(oneMarkerValue) && (
<View
style={[
styles.sliderLabel,
{ left: oneMarkerLeftPosition - width / 2 },
oneMarkerPressed && styles.markerPressed,
]}
>
<Text style={styles.sliderLabelText}>{oneMarkerValue}</Text>
</View>
)}

{Number.isFinite(twoMarkerLeftPosition) &&
Number.isFinite(twoMarkerValue) && (
<View
style={[
styles.sliderLabel,
{ left: twoMarkerLeftPosition - width / 2 },
twoMarkerPressed && styles.markerPressed,
]}
>
<Text style={styles.sliderLabelText}>{twoMarkerValue}</Text>
</View>
)}
</View>
);
}
}

const styles = StyleSheet.create({
sliderLabel: {
position: 'absolute',
bottom: 0,
minWidth: width,
padding: 8,
backgroundColor: '#f1f1f1',
},
sliderLabelText: {
alignItems: 'center',
textAlign: 'center',
fontStyle: 'normal',
fontSize: 11,
},
markerPressed: {
borderWidth: 2,
borderColor: '#999',
},
});
53 changes: 33 additions & 20 deletions DefaultMarker.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
import React from 'react';
import PropTypes from 'prop-types';

import { View, StyleSheet, Platform, TouchableHighlight } from 'react-native';

const ViewPropTypes = require('react-native').ViewPropTypes || View.propTypes;

export default class DefaultMarker extends React.Component {
static propTypes = {
pressed: PropTypes.bool,
pressedMarkerStyle: ViewPropTypes.style,
markerStyle: ViewPropTypes.style,
enabled: PropTypes.bool,
valuePrefix: PropTypes.string,
valueSuffix: PropTypes.string,
};

class DefaultMarker extends React.Component {
render() {
return (
<TouchableHighlight>
<View
style={this.props.enabled ? [
styles.markerStyle,
this.props.markerStyle,
this.props.pressed && styles.pressedMarkerStyle,
this.props.pressed && this.props.pressedMarkerStyle,
] : [styles.markerStyle, styles.disabled]}
style={
this.props.enabled
? [
styles.markerStyle,
this.props.markerStyle,
this.props.pressed && styles.pressedMarkerStyle,
this.props.pressed && this.props.pressedMarkerStyle,
]
: [
styles.markerStyle,
styles.disabled,
this.props.disabledMarkerStyle,
]
}
/>
</TouchableHighlight>
);
Expand Down Expand Up @@ -55,10 +50,26 @@ const styles = StyleSheet.create({
borderRadius: 12,
backgroundColor: '#0D8675',
},
web: {
height: 30,
width: 30,
borderRadius: 30,
borderWidth: 1,
borderColor: '#DDDDDD',
backgroundColor: '#FFFFFF',
shadowColor: '#000000',
shadowOffset: {
width: 0,
height: 3,
},
shadowRadius: 1,
shadowOpacity: 0.2,
},
}),
},
pressedMarkerStyle: {
...Platform.select({
web: {},
ios: {},
android: {
height: 20,
Expand All @@ -71,3 +82,5 @@ const styles = StyleSheet.create({
backgroundColor: '#d3d3d3',
},
});

export default DefaultMarker;
3 changes: 2 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
The MIT License (MIT)

Copyright (c) Tomas Roos 2016.
Copyright (c) jrans 2015-2016.
Copyright (c) Tomas Roos.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading