@@ -79,14 +79,25 @@ export interface FlexboxStyle {
79
79
position ?: 'absolute' | 'relative' ;
80
80
}
81
81
82
+ export abstract class AnimatedValue implements RX . IAnimatedValue {
83
+ constructor ( val : number ) {
84
+ // No-op
85
+ }
86
+ abstract setValue ( value : number ) : void ;
87
+ abstract addListener ( callback : any ) : number ;
88
+ abstract removeListener ( id : string ) : void ;
89
+ abstract removeAllListeners ( ) : void ;
90
+ abstract interpolate ( config : any ) : AnimatedValue ;
91
+ }
92
+
82
93
export interface AnimatedFlexboxStyle {
83
- height ?: RX . AnimatedValue ;
84
- width ?: RX . AnimatedValue ;
94
+ height ?: AnimatedValue ;
95
+ width ?: AnimatedValue ;
85
96
86
- top ?: RX . AnimatedValue ;
87
- right ?: RX . AnimatedValue ;
88
- bottom ?: RX . AnimatedValue ;
89
- left ?: RX . AnimatedValue ;
97
+ top ?: AnimatedValue ;
98
+ right ?: AnimatedValue ;
99
+ bottom ?: AnimatedValue ;
100
+ left ?: AnimatedValue ;
90
101
}
91
102
92
103
// ------------------------------------------------------------
@@ -110,16 +121,16 @@ export interface TransformStyle {
110
121
111
122
export interface AnimatedTransformStyle {
112
123
transform ?: [ {
113
- perspective ?: RX . AnimatedValue ;
114
- rotate ?: RX . AnimatedValue ;
115
- rotateX ?: RX . AnimatedValue ;
116
- rotateY ?: RX . AnimatedValue ;
117
- rotateZ ?: RX . AnimatedValue ;
118
- scale ?: RX . AnimatedValue ;
119
- scaleX ?: RX . AnimatedValue ;
120
- scaleY ?: RX . AnimatedValue ;
121
- translateX ?: RX . AnimatedValue ;
122
- translateY ?: RX . AnimatedValue ;
124
+ perspective ?: AnimatedValue ;
125
+ rotate ?: AnimatedValue ;
126
+ rotateX ?: AnimatedValue ;
127
+ rotateY ?: AnimatedValue ;
128
+ rotateZ ?: AnimatedValue ;
129
+ scale ?: AnimatedValue ;
130
+ scaleX ?: AnimatedValue ;
131
+ scaleY ?: AnimatedValue ;
132
+ translateX ?: AnimatedValue ;
133
+ translateY ?: AnimatedValue ;
123
134
} ] ;
124
135
}
125
136
@@ -143,9 +154,9 @@ export interface ViewAndImageCommonStyle extends FlexboxStyle, TransformStyle {
143
154
}
144
155
145
156
export interface AnimatedViewAndImageCommonStyle extends AnimatedFlexboxStyle , AnimatedTransformStyle {
146
- borderRadius ?: RX . AnimatedValue ;
147
- backgroundColor ?: RX . AnimatedValue ;
148
- opacity ?: RX . AnimatedValue ;
157
+ borderRadius ?: AnimatedValue ;
158
+ backgroundColor ?: AnimatedValue ;
159
+ opacity ?: AnimatedValue ;
149
160
}
150
161
151
162
// ------------------------------------------------------------
@@ -244,8 +255,8 @@ export interface TextStyle extends ViewStyle {
244
255
export type TextStyleRuleSet = StyleRuleSet < TextStyle > ;
245
256
246
257
export interface AnimatedTextStyle extends AnimatedViewAndImageCommonStyle {
247
- color ?: RX . AnimatedValue ;
248
- fontSize ?: RX . AnimatedValue ;
258
+ color ?: AnimatedValue ;
259
+ fontSize ?: AnimatedValue ;
249
260
}
250
261
251
262
export type AnimatedTextStyleRuleSet = StyleRuleSet < AnimatedTextStyle > ;
@@ -260,8 +271,8 @@ export interface TextInputStyle extends TextStyle {
260
271
export type TextInputStyleRuleSet = StyleRuleSet < TextInputStyle > ;
261
272
262
273
export interface AnimatedTextInputStyle extends AnimatedViewAndImageCommonStyle {
263
- color ?: RX . AnimatedValue ;
264
- fontSize ?: RX . AnimatedValue ;
274
+ color ?: AnimatedValue ;
275
+ fontSize ?: AnimatedValue ;
265
276
}
266
277
267
278
export type AnimatedTextInputStyleRuleSet = StyleRuleSet < AnimatedTextInputStyle > ;
@@ -977,7 +988,7 @@ export interface NavigatorProps extends CommonProps {
977
988
renderScene : ( route : NavigatorRoute ) => JSX . Element ;
978
989
navigateBackCompleted ?: ( ) => void ;
979
990
// NOTE: Arguments are only passed to transitionStarted by the experimental navigator
980
- transitionStarted ?: ( progress ?: RX . AnimatedValue ,
991
+ transitionStarted ?: ( progress ?: RX . IAnimatedValue ,
981
992
toRouteId ?: string , fromRouteId ?: string ,
982
993
toIndex ?: number , fromIndex ?: number ) => void ;
983
994
transitionCompleted ?: ( ) => void ;
@@ -1046,7 +1057,7 @@ export module Animated {
1046
1057
outputRange : ( number | string ) [ ] ;
1047
1058
}
1048
1059
1049
- export type TimingFunction = ( value : RX . AnimatedValue , config : TimingAnimationConfig ) => CompositeAnimation ;
1060
+ export type TimingFunction = ( value : RX . IAnimatedValue , config : TimingAnimationConfig ) => CompositeAnimation ;
1050
1061
export var timing : TimingFunction ;
1051
1062
1052
1063
export type SequenceFunction = ( animations : Array < CompositeAnimation > ) => CompositeAnimation ;
0 commit comments