Skip to content

Commit a9ce6f1

Browse files
add types (ptomasroos#159)
* add types * remove unused leftDiff * add customLabel to types * add enableLabel type
1 parent f529753 commit a9ce6f1

File tree

3 files changed

+80
-7
lines changed

3 files changed

+80
-7
lines changed

DefaultLabel.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const sliderRadius = 3;
77
const width = 50;
88
export default class DefaultLabel extends React.Component {
99
static propTypes = {
10-
leftDiff: PropTypes.number,
1110

1211
oneMarkerValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
1312
twoMarkerValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
@@ -19,13 +18,9 @@ export default class DefaultLabel extends React.Component {
1918
twoMarkerPressed: PropTypes.bool,
2019
};
2120

22-
static defaultProps = {
23-
leftDiff: 0,
24-
};
2521

2622
render() {
2723
const {
28-
leftDiff,
2924
oneMarkerValue,
3025
twoMarkerValue,
3126
oneMarkerLeftPosition,

MultiSlider.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,7 @@ export default class MultiSlider extends React.Component {
538538
</View>
539539
</React.Fragment>
540540
);
541-
const leftDiff =
542-
(Dimensions.get('window').width - this.props.sliderLength) / 2;
541+
543542
return (
544543
<View>
545544
{this.props.enableLabel && (

index.d.ts

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
// Type definitions for @ptomasroos/react-native-multi-slider 0.0
2+
// Project: https://github.com/ptomasroos/react-native-multi-slider#readme
3+
// Definitions by: Edward Sammut Alessi <https://github.com/Slessi>
4+
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5+
// TypeScript Version: 2.8
6+
import * as React from "react";
7+
import { ViewStyle } from "react-native";
8+
9+
10+
export interface MarkerProps {
11+
pressed: boolean;
12+
pressedMarkerStyle: ViewStyle;
13+
markerStyle: ViewStyle;
14+
enabled: boolean;
15+
currentValue: number;
16+
valuePrefix: string;
17+
valueSuffix: string;
18+
}
19+
20+
export interface LabelProps {
21+
oneMarkerValue: string | number;
22+
twoMarkerValue: string | number;
23+
oneMarkerLeftPosition: number;
24+
twoMarkerLeftPosition: number;
25+
oneMarkerPressed: boolean;
26+
twoMarkerPressed: boolean;
27+
}
28+
29+
export interface MultiSliderProps {
30+
values?: number[];
31+
32+
onValuesChange?: (values: number[]) => void;
33+
onValuesChangeStart?: () => void;
34+
onValuesChangeFinish?: (values: number[]) => void;
35+
36+
sliderLength?: number;
37+
touchDimensions?: {
38+
height: number;
39+
width: number;
40+
borderRadius: number;
41+
slipDisplacement: number;
42+
};
43+
44+
customMarker?: React.ComponentType<MarkerProps>;
45+
customMarkerLeft?: React.ComponentType<MarkerProps>;
46+
customMarkerRight?: React.ComponentType<MarkerProps>;
47+
customLabel?: React.ComponentType<LabelProps>;
48+
49+
isMarkersSeparated?: boolean;
50+
51+
min?: number;
52+
max?: number;
53+
step?: number;
54+
55+
optionsArray?: number[];
56+
57+
containerStyle?: ViewStyle;
58+
trackStyle?: ViewStyle;
59+
selectedStyle?: ViewStyle;
60+
unselectedStyle?: ViewStyle;
61+
markerContainerStyle?: ViewStyle;
62+
markerStyle?: ViewStyle;
63+
pressedMarkerStyle?: ViewStyle;
64+
valuePrefix?: string;
65+
valueSuffix?: string;
66+
enabledOne?: boolean;
67+
enabledTwo?: boolean;
68+
onToggleOne?: () => void;
69+
onToggleTwo?: () => void;
70+
allowOverlap?: boolean;
71+
snapped?: boolean;
72+
markerOffsetX?: number;
73+
markerOffsetY?: number;
74+
minMarkerOverlapDistance?: number;
75+
imageBackgroundSource?: string;
76+
enableLabel?: boolean;
77+
}
78+
79+
export default class MultiSlider extends React.Component<MultiSliderProps> {}

0 commit comments

Comments
 (0)