1
1
import React , { Component } from 'react' ;
2
2
import { StyleSheet , ScrollView } from 'react-native' ;
3
- import { Colors , View , Text , Image , Slider , GradientSlider , ColorSliderGroup } from 'react-native-ui-lib' ;
3
+ import { Colors , View , Text , Image , Slider , GradientSlider , ColorSliderGroup , Constants } from 'react-native-ui-lib' ;
4
4
5
5
const INITIAL_VALUE = 0 ;
6
6
const COLOR = Colors . blue30 ;
@@ -28,72 +28,77 @@ export default class SliderScreen extends Component<SliderScreenProps, SliderScr
28
28
29
29
onSliderValueChange = ( value : number ) => {
30
30
this . setState ( { sliderValue : value } ) ;
31
- }
31
+ } ;
32
32
33
33
onGradientValueChange = ( value : string , alpha : number ) => {
34
34
this . setState ( { color : value , alpha} ) ;
35
- }
35
+ } ;
36
36
37
37
onGroupValueChange = ( value : string ) => {
38
38
console . warn ( 'onGroupValueChange: ' , value ) ;
39
- }
39
+ } ;
40
40
41
41
render ( ) {
42
42
const { color, alpha, sliderValue} = this . state ;
43
43
44
44
return (
45
45
< ScrollView showsVerticalScrollIndicator = { false } >
46
46
< View flex padding-20 >
47
- < Text titleHuge marginB-20 > Sliders</ Text >
48
-
49
- < View row centerV >
47
+ < Text titleHuge marginB-20 >
48
+ Sliders
49
+ </ Text >
50
+
51
+ < View row centerV style = { Constants . isRTL && styles . ltr } >
50
52
< Image assetName = { 'megaphone' } style = { styles . image } />
51
- < Slider
52
- onValueChange = { this . onSliderValueChange }
53
+ < Slider
54
+ onValueChange = { this . onSliderValueChange }
53
55
value = { INITIAL_VALUE }
54
- minimumValue = { 0 }
55
- maximumValue = { 100 }
56
- step = { 1 }
56
+ minimumValue = { 0 }
57
+ maximumValue = { 100 }
58
+ step = { 1 }
57
59
containerStyle = { styles . sliderContainer }
60
+ disableRTL
58
61
/>
59
- < Text bodySmall grey30 style = { styles . text } > { sliderValue } %</ Text >
62
+ < Text bodySmall grey30 style = { styles . text } >
63
+ { sliderValue } %
64
+ </ Text >
60
65
</ View >
61
-
66
+
62
67
< Text marginT-30 > Negatives</ Text >
63
- < Slider
64
- minimumValue = { - 100 }
65
- maximumValue = { 100 }
66
- value = { - 30 }
68
+ < Slider
69
+ minimumValue = { - 100 }
70
+ maximumValue = { 100 }
71
+ value = { - 30 }
67
72
minimumTrackTintColor = { Colors . red30 }
68
73
thumbTintColor = { Colors . red50 }
69
74
containerStyle = { styles . slider }
70
75
/>
71
- < Slider
72
- minimumValue = { - 300 }
73
- maximumValue = { - 100 }
74
- value = { - 130 }
76
+ < Slider
77
+ minimumValue = { - 300 }
78
+ maximumValue = { - 100 }
79
+ value = { - 130 }
75
80
minimumTrackTintColor = { Colors . red30 }
76
81
thumbTintColor = { Colors . red50 }
77
82
containerStyle = { styles . slider }
78
83
/>
79
84
80
85
< Text marginT-20 > Disabled</ Text >
81
- < Slider
82
- minimumValue = { 100 }
83
- maximumValue = { 200 }
84
- value = { 120 }
86
+ < Slider
87
+ minimumValue = { 100 }
88
+ maximumValue = { 200 }
89
+ value = { 120 }
85
90
minimumTrackTintColor = { Colors . red30 }
86
91
thumbTintColor = { Colors . green30 }
87
92
containerStyle = { styles . slider }
88
93
disabled
89
94
/>
90
-
95
+
91
96
< Text marginT-15 > Custom with Steps</ Text >
92
- < Slider
93
- value = { 50 }
94
- minimumValue = { 0 }
95
- maximumValue = { 100 }
96
- step = { 25 }
97
+ < Slider
98
+ value = { 50 }
99
+ minimumValue = { 0 }
100
+ maximumValue = { 100 }
101
+ step = { 25 }
97
102
containerStyle = { styles . slider }
98
103
trackStyle = { styles . track }
99
104
thumbStyle = { styles . thumb }
@@ -105,36 +110,42 @@ export default class SliderScreen extends Component<SliderScreenProps, SliderScr
105
110
106
111
< Text marginT-15 > Gradient Sliders</ Text >
107
112
< View row centerV >
108
- < Text text90 grey30 > DEFAULT</ Text >
109
- < GradientSlider
110
- color = { color }
111
- containerStyle = { styles . gradientSliderContainer }
113
+ < Text text90 grey30 >
114
+ DEFAULT
115
+ </ Text >
116
+ < GradientSlider
117
+ color = { color }
118
+ containerStyle = { styles . gradientSliderContainer }
112
119
onValueChange = { this . onGradientValueChange }
113
120
/>
114
121
< View style = { styles . box } >
115
122
< View style = { { flex : 1 , backgroundColor : color , opacity : alpha } } />
116
123
</ View >
117
124
</ View >
118
125
< View row centerV >
119
- < Text text90 grey30 > HUE</ Text >
120
- < GradientSlider
121
- type = { GradientSlider . types . HUE }
122
- color = { COLOR }
123
- containerStyle = { styles . gradientSliderContainer }
126
+ < Text text90 grey30 >
127
+ HUE
128
+ </ Text >
129
+ < GradientSlider
130
+ type = { GradientSlider . types . HUE }
131
+ color = { COLOR }
132
+ containerStyle = { styles . gradientSliderContainer }
124
133
onValueChange = { this . onGradientValueChange }
125
134
/>
126
135
< View style = { styles . box } >
127
136
< View style = { { flex : 1 , backgroundColor : color } } />
128
137
</ View >
129
138
</ View >
130
-
131
- < Text marginT-25 marginB-20 > Color Slider Group</ Text >
132
- < ColorSliderGroup
133
- initialColor = { color }
139
+
140
+ < Text marginT-25 marginB-20 >
141
+ Color Slider Group
142
+ </ Text >
143
+ < ColorSliderGroup
144
+ initialColor = { color }
134
145
sliderContainerStyle = { styles . slider }
135
146
containerStyle = { styles . group }
136
147
showLabels
137
- // onValueChange={this.onGroupValueChange}
148
+ // onValueChange={this.onGroupValueChange}
138
149
/>
139
150
</ View >
140
151
</ ScrollView >
@@ -143,6 +154,9 @@ export default class SliderScreen extends Component<SliderScreenProps, SliderScr
143
154
}
144
155
145
156
const styles = StyleSheet . create ( {
157
+ ltr : {
158
+ flexDirection : 'row-reverse'
159
+ } ,
146
160
image : {
147
161
tintColor : Colors . grey30
148
162
} ,
@@ -165,23 +179,23 @@ const styles = StyleSheet.create({
165
179
height : 2
166
180
} ,
167
181
thumb : {
168
- width : 26 ,
169
- height : 26 ,
170
- borderRadius : 13 ,
171
- borderColor : Colors . violet40 ,
172
- borderWidth : 1 ,
182
+ width : 26 ,
183
+ height : 26 ,
184
+ borderRadius : 13 ,
185
+ borderColor : Colors . violet40 ,
186
+ borderWidth : 1 ,
173
187
shadowColor : Colors . white
174
188
} ,
175
189
activeThumb : {
176
- width : 40 ,
177
- height : 40 ,
190
+ width : 40 ,
191
+ height : 40 ,
178
192
borderRadius : 20
179
193
} ,
180
194
box : {
181
- width : 20 ,
195
+ width : 20 ,
182
196
height : 20 ,
183
197
borderRadius : 4 ,
184
- borderWidth : 1 ,
198
+ borderWidth : 1 ,
185
199
borderColor : Colors . grey60
186
200
} ,
187
201
group : {
0 commit comments