1
1
import React , { Component } from 'react' ;
2
- import { View , Text , Stepper } from 'react-native-ui-lib' ; //eslint-disable-line
2
+ import { ScrollView } from 'react-native' ;
3
+ import { View , Text , Stepper , type StepperType , Image } from 'react-native-ui-lib' ; //eslint-disable-line
4
+ import { renderMultipleSegmentOptions } from '../ExampleScreenPresenter' ;
5
+
6
+ const IMAGE_URL =
7
+ 'https://images.pexels.com/photos/2529148/pexels-photo-2529148.jpeg?auto=compress&cs=tinysrgb&w=600&&dpr=1' ;
3
8
4
9
export default class StepperScreen extends Component {
5
10
state = {
6
- stepperValue : 1
11
+ stepperValue : 1 ,
12
+ stepperType : 'default' as StepperType
7
13
} ;
8
14
9
15
stepperProps = {
@@ -17,73 +23,96 @@ export default class StepperScreen extends Component {
17
23
} ;
18
24
19
25
render ( ) {
20
- const { stepperValue} = this . state ;
26
+ const { stepperValue, stepperType } = this . state ;
21
27
22
28
return (
23
- < View padding-page >
24
- < Text text40 $textDefault marginB-20 >
25
- Stepper
26
- </ Text >
29
+ < ScrollView >
30
+ < View padding-page >
31
+ < Text text40 $textDefault >
32
+ Stepper
33
+ </ Text >
27
34
28
- < View centerV >
29
- < View row spread centerV >
30
- < Text text70 $textDefault >
31
- Default
32
- </ Text >
33
- < Stepper />
34
- </ View >
35
+ { renderMultipleSegmentOptions . call ( this , 'Stepper Type' , 'stepperType' , [
36
+ { label : 'Default' , value : 'default' } ,
37
+ { label : 'Floating' , value : 'floating' }
38
+ ] ) }
35
39
36
- < View row spread centerV marginT-30 >
37
- < Text text70 $textDefault >
38
- Disabled
39
- </ Text >
40
- < Stepper disabled />
41
- </ View >
42
-
43
- < View row spread marginT-30 >
44
- < Text text70 $textDefault >
45
- Step (0.5)
46
- </ Text >
47
- < Stepper step = { 0.5 } />
48
- </ View >
49
-
50
- < View row spread marginT-30 >
51
- < Text text70 $textDefault >
52
- Small
53
- </ Text >
54
- < Stepper small />
55
- </ View >
56
-
57
- < View marginT-30 >
40
+ < View centerV marginT-s3 >
58
41
< View row spread centerV >
59
42
< Text text70 $textDefault >
60
- Custom
43
+ Default
61
44
</ Text >
62
- < Stepper
63
- onValueChange = { this . onValueChange }
64
- maxValue = { this . stepperProps . maxValue }
65
- minValue = { this . stepperProps . minValue }
66
- value = { stepperValue }
67
- testID = { 'Stepper1' }
68
- />
45
+ < Stepper type = { stepperType } />
69
46
</ View >
70
- < View padding-5 >
71
- < Text text80M $textDefault >
72
- Stepper value: { stepperValue }
73
- </ Text >
74
- < Text $textDefault marginT-3 >
75
- Initial value: { this . stepperProps . value }
47
+
48
+ < View row spread centerV marginT-30 >
49
+ < Text text70 $textDefault >
50
+ Disabled
76
51
</ Text >
77
- < Text $textDefault marginT-3 >
78
- Min value: { this . stepperProps . minValue }
52
+ < Stepper disabled type = { stepperType } />
53
+ </ View >
54
+
55
+ < View row spread marginT-30 >
56
+ < Text text70 $textDefault >
57
+ Step (0.5)
79
58
</ Text >
80
- < Text $textDefault marginT-3 >
81
- Max value: { this . stepperProps . maxValue }
59
+ < Stepper step = { 0.5 } type = { stepperType } />
60
+ </ View >
61
+
62
+ < View row spread marginT-30 >
63
+ < Text text70 $textDefault >
64
+ Small
82
65
</ Text >
66
+ < Stepper small type = { stepperType } />
67
+ </ View >
68
+
69
+ < View marginT-30 >
70
+ < View row spread centerV >
71
+ < Text text70 $textDefault >
72
+ Custom
73
+ </ Text >
74
+ < Stepper
75
+ type = { stepperType }
76
+ onValueChange = { this . onValueChange }
77
+ maxValue = { this . stepperProps . maxValue }
78
+ minValue = { this . stepperProps . minValue }
79
+ value = { stepperValue }
80
+ testID = { 'Stepper1' }
81
+ />
82
+ </ View >
83
+ < View padding-5 >
84
+ < Text text80M $textDefault >
85
+ Stepper value: { stepperValue }
86
+ </ Text >
87
+ < Text $textDefault marginT-3 >
88
+ Initial value: { this . stepperProps . value }
89
+ </ Text >
90
+ < Text $textDefault marginT-3 >
91
+ Min value: { this . stepperProps . minValue }
92
+ </ Text >
93
+ < Text $textDefault marginT-3 >
94
+ Max value: { this . stepperProps . maxValue }
95
+ </ Text >
96
+ </ View >
83
97
</ View >
84
98
</ View >
99
+
100
+ < View marginT-s5 centerH >
101
+ < Text text70BO marginB-s2 >
102
+ Floating Stepper
103
+ </ Text >
104
+ < Image
105
+ source = { { uri : IMAGE_URL } }
106
+ style = { { width : 200 , height : 200 , borderRadius : 8 , overflow : 'hidden' } }
107
+ customOverlayContent = {
108
+ < View style = { { position : 'absolute' , top : 8 , right : 8 } } >
109
+ < Stepper type = "floating" />
110
+ </ View >
111
+ }
112
+ />
113
+ </ View >
85
114
</ View >
86
- </ View >
115
+ </ ScrollView >
87
116
) ;
88
117
}
89
118
}
0 commit comments