react-native-reanimated 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/commonjs/createAnimatedComponent.js +12 -0
- package/lib/commonjs/createAnimatedComponent.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +3 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/commonjs/reanimated2/initializers.js +1 -1
- package/lib/commonjs/reanimated2/initializers.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js +5 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/commonjs/reanimated2/mock.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js +1 -1
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js.map +1 -1
- package/lib/commonjs/reanimated2/threads.js +10 -13
- package/lib/commonjs/reanimated2/threads.js.map +1 -1
- package/lib/commonjs/reanimated2/utils.js +1 -1
- package/lib/commonjs/reanimated2/utils.js.map +1 -1
- package/lib/module/createAnimatedComponent.js +12 -0
- package/lib/module/createAnimatedComponent.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedSensor.js +2 -0
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/module/reanimated2/initializers.js +1 -1
- package/lib/module/reanimated2/initializers.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js +5 -0
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/mock.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.js +1 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.js.map +1 -1
- package/lib/module/reanimated2/threads.js +10 -13
- package/lib/module/reanimated2/threads.js.map +1 -1
- package/lib/module/reanimated2/utils.js +1 -1
- package/lib/module/reanimated2/utils.js.map +1 -1
- package/mock.js +1 -211
- package/package.json +1 -1
- package/react-native-reanimated.d.ts +4 -413
- package/src/createAnimatedComponent.tsx +9 -0
- package/src/reanimated2/hook/useAnimatedSensor.ts +2 -0
- package/src/reanimated2/initializers.ts +1 -1
- package/src/reanimated2/layoutReanimation/animationsManager.ts +3 -0
- package/src/reanimated2/mock.ts +1 -1
- package/src/reanimated2/platform-specific/checkVersion.ts +1 -1
- package/src/reanimated2/threads.ts +10 -13
- package/src/reanimated2/utils.ts +1 -1
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
declare module 'react-native-reanimated' {
|
|
5
5
|
import {
|
|
6
6
|
ComponentClass,
|
|
7
|
-
ReactNode,
|
|
8
7
|
Component,
|
|
9
8
|
RefObject,
|
|
10
9
|
FunctionComponent,
|
|
@@ -58,25 +57,6 @@ declare module 'react-native-reanimated' {
|
|
|
58
57
|
import('./lib/types/lib/reanimated2/commonTypes').MeasuredDimensions;
|
|
59
58
|
|
|
60
59
|
namespace Animated {
|
|
61
|
-
type Nullable<T> = T | null | undefined;
|
|
62
|
-
class AnimatedNode<T> {
|
|
63
|
-
constructor(
|
|
64
|
-
nodeConfig: object,
|
|
65
|
-
inputNodes?: ReadonlyArray<AnimatedNode<any>>
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
isNativelyInitialized(): boolean;
|
|
69
|
-
/**
|
|
70
|
-
* ' __value' is not available at runtime on AnimatedNode<T>. It is
|
|
71
|
-
* necessary to have some discriminating property on a type to know that
|
|
72
|
-
* an AnimatedNode<number> and AnimatedNode<string> are not compatible types.
|
|
73
|
-
*/
|
|
74
|
-
' __value': T;
|
|
75
|
-
}
|
|
76
|
-
class AnimatedClock extends AnimatedNode<number> {
|
|
77
|
-
constructor();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
60
|
export enum Extrapolate {
|
|
81
61
|
EXTEND = 'extend',
|
|
82
62
|
CLAMP = 'clamp',
|
|
@@ -95,37 +75,13 @@ declare module 'react-native-reanimated' {
|
|
|
95
75
|
extrapolateRight?: Extrapolate;
|
|
96
76
|
}
|
|
97
77
|
type Value = string | number | boolean;
|
|
98
|
-
class AnimatedValue<T extends Value> extends AnimatedNode<T> {
|
|
99
|
-
constructor(value?: T);
|
|
100
|
-
|
|
101
|
-
setValue(value: Adaptable<T>): void;
|
|
102
|
-
|
|
103
|
-
interpolate(config: InterpolationConfig): AnimatedNode<number>;
|
|
104
|
-
}
|
|
105
|
-
export interface AnimationState {
|
|
106
|
-
finished: AnimatedValue<number>;
|
|
107
|
-
position: AnimatedValue<number>;
|
|
108
|
-
time: AnimatedValue<number>;
|
|
109
|
-
}
|
|
110
78
|
|
|
111
79
|
export type SharedValue<T> = { value: T };
|
|
112
80
|
export type DerivedValue<T> = Readonly<SharedValue<T>>;
|
|
113
|
-
export type Mapping = { [key: string]: Mapping } | Adaptable<any>;
|
|
114
81
|
export type Adaptable<T> =
|
|
115
82
|
| T
|
|
116
|
-
|
|
|
117
|
-
| ReadonlyArray<T | AnimatedNode<T> | ReadonlyArray<T | AnimatedNode<T>>>
|
|
83
|
+
| ReadonlyArray<T | ReadonlyArray<T>>
|
|
118
84
|
| SharedValue<T>;
|
|
119
|
-
type BinaryOperator<T = number> = (
|
|
120
|
-
left: Adaptable<number>,
|
|
121
|
-
right: Adaptable<number>
|
|
122
|
-
) => AnimatedNode<T>;
|
|
123
|
-
type UnaryOperator = (value: Adaptable<number>) => AnimatedNode<number>;
|
|
124
|
-
type MultiOperator<T = number> = (
|
|
125
|
-
a: Adaptable<number>,
|
|
126
|
-
b: Adaptable<number>,
|
|
127
|
-
...others: Adaptable<number>[]
|
|
128
|
-
) => AnimatedNode<T>;
|
|
129
85
|
|
|
130
86
|
export type TransformStyleTypes = TransformsStyle['transform'] extends
|
|
131
87
|
| readonly (infer T)[]
|
|
@@ -146,13 +102,7 @@ declare module 'react-native-reanimated' {
|
|
|
146
102
|
? AnimateStyle<S[K]>
|
|
147
103
|
: S[K] extends ColorValue | undefined
|
|
148
104
|
? S[K] | number
|
|
149
|
-
:
|
|
150
|
-
| S[K]
|
|
151
|
-
| AnimatedNode<
|
|
152
|
-
// allow `number` where `string` normally is to support colors
|
|
153
|
-
S[K] extends ColorValue | undefined ? S[K] | number : S[K]
|
|
154
|
-
>
|
|
155
|
-
| SharedValue<AnimatableValue>;
|
|
105
|
+
: S[K] | SharedValue<AnimatableValue>;
|
|
156
106
|
};
|
|
157
107
|
|
|
158
108
|
export type StylesOrDefault<T> = 'style' extends keyof T
|
|
@@ -160,7 +110,7 @@ declare module 'react-native-reanimated' {
|
|
|
160
110
|
: Record<string, unknown>;
|
|
161
111
|
|
|
162
112
|
export type AnimateProps<P extends object> = {
|
|
163
|
-
[K in keyof Omit<P, 'style'>]: P[K] |
|
|
113
|
+
[K in keyof Omit<P, 'style'>]: P[K] | SharedValue<P[K]>;
|
|
164
114
|
} & {
|
|
165
115
|
style?: StyleProp<AnimateStyle<StylesOrDefault<P>>>;
|
|
166
116
|
} & {
|
|
@@ -183,82 +133,6 @@ declare module 'react-native-reanimated' {
|
|
|
183
133
|
sharedTransitionStyle?: ILayoutAnimationBuilder;
|
|
184
134
|
};
|
|
185
135
|
|
|
186
|
-
export interface PhysicsAnimationState extends AnimationState {
|
|
187
|
-
velocity: AnimatedValue<number>;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export type DecayState = PhysicsAnimationState;
|
|
191
|
-
|
|
192
|
-
export interface DecayConfig {
|
|
193
|
-
deceleration: Adaptable<number>;
|
|
194
|
-
}
|
|
195
|
-
export interface BackwardCompatibleWrapper {
|
|
196
|
-
start: (callback?: (data: { finished: boolean }) => any) => void;
|
|
197
|
-
stop: () => void;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
export interface TimingState extends AnimationState {
|
|
201
|
-
frameTime: AnimatedValue<number>;
|
|
202
|
-
}
|
|
203
|
-
export type EasingNodeFunction = (
|
|
204
|
-
value: Adaptable<number>
|
|
205
|
-
) => AnimatedNode<number>;
|
|
206
|
-
export type EasingFunction = (value: number) => number;
|
|
207
|
-
export interface TimingConfig {
|
|
208
|
-
toValue: Adaptable<number>;
|
|
209
|
-
duration: Adaptable<number>;
|
|
210
|
-
easing: EasingNodeFunction;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export type SpringState = PhysicsAnimationState;
|
|
214
|
-
|
|
215
|
-
export interface SpringConfig {
|
|
216
|
-
damping: Adaptable<number>;
|
|
217
|
-
mass: Adaptable<number>;
|
|
218
|
-
stiffness: Adaptable<number>;
|
|
219
|
-
overshootClamping: Adaptable<number> | boolean;
|
|
220
|
-
restSpeedThreshold: Adaptable<number>;
|
|
221
|
-
restDisplacementThreshold: Adaptable<number>;
|
|
222
|
-
toValue: Adaptable<number>;
|
|
223
|
-
}
|
|
224
|
-
interface SpringConfigWithOrigamiTensionAndFriction {
|
|
225
|
-
tension: Adaptable<number>;
|
|
226
|
-
mass: Adaptable<number>;
|
|
227
|
-
friction: Adaptable<number>;
|
|
228
|
-
overshootClamping: Adaptable<number> | boolean;
|
|
229
|
-
restSpeedThreshold: Adaptable<number>;
|
|
230
|
-
restDisplacementThreshold: Adaptable<number>;
|
|
231
|
-
toValue: Adaptable<number>;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
interface SpringConfigWithBouncinessAndSpeed {
|
|
235
|
-
bounciness: Adaptable<number>;
|
|
236
|
-
mass: Adaptable<number>;
|
|
237
|
-
speed: Adaptable<number>;
|
|
238
|
-
overshootClamping: Adaptable<number> | boolean;
|
|
239
|
-
restSpeedThreshold: Adaptable<number>;
|
|
240
|
-
restDisplacementThreshold: Adaptable<number>;
|
|
241
|
-
toValue: Adaptable<number>;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
type SpringUtils = {
|
|
245
|
-
makeDefaultConfig: () => SpringConfig;
|
|
246
|
-
makeConfigFromBouncinessAndSpeed: (
|
|
247
|
-
prevConfig: SpringConfigWithBouncinessAndSpeed
|
|
248
|
-
) => SpringConfig;
|
|
249
|
-
makeConfigFromOrigamiTensionAndFriction: (
|
|
250
|
-
prevConfig: SpringConfigWithOrigamiTensionAndFriction
|
|
251
|
-
) => SpringConfig;
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
export const SpringUtils: SpringUtils;
|
|
255
|
-
|
|
256
|
-
type CodeProps = {
|
|
257
|
-
exec?: AnimatedNode<number>;
|
|
258
|
-
children?: () => AnimatedNode<number>;
|
|
259
|
-
dependencies?: Array<any>;
|
|
260
|
-
};
|
|
261
|
-
|
|
262
136
|
// components
|
|
263
137
|
export class View extends Component<AnimateProps<ViewProps>> {
|
|
264
138
|
getNode(): ReactNativeView;
|
|
@@ -280,8 +154,6 @@ declare module 'react-native-reanimated' {
|
|
|
280
154
|
}
|
|
281
155
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
282
156
|
export interface ScrollView extends ReactNativeScrollView {}
|
|
283
|
-
|
|
284
|
-
export class Code extends Component<CodeProps> {}
|
|
285
157
|
export interface FlatListPropsWithLayout<T> extends FlatListProps<T> {
|
|
286
158
|
itemLayoutAnimation?: ILayoutAnimationBuilder;
|
|
287
159
|
}
|
|
@@ -305,164 +177,6 @@ declare module 'react-native-reanimated' {
|
|
|
305
177
|
options?: Options<P>
|
|
306
178
|
): FunctionComponent<AnimateProps<P>>;
|
|
307
179
|
|
|
308
|
-
// classes
|
|
309
|
-
export {
|
|
310
|
-
AnimatedClock as Clock,
|
|
311
|
-
AnimatedNode as Node,
|
|
312
|
-
AnimatedValue as Value,
|
|
313
|
-
};
|
|
314
|
-
|
|
315
|
-
// base operations
|
|
316
|
-
export const add: MultiOperator;
|
|
317
|
-
export const sub: MultiOperator;
|
|
318
|
-
export const multiply: MultiOperator;
|
|
319
|
-
export const divide: MultiOperator;
|
|
320
|
-
export const pow: MultiOperator;
|
|
321
|
-
export const modulo: MultiOperator;
|
|
322
|
-
export const sqrt: UnaryOperator;
|
|
323
|
-
export const log: UnaryOperator;
|
|
324
|
-
export const sin: UnaryOperator;
|
|
325
|
-
export const cos: UnaryOperator;
|
|
326
|
-
export const tan: UnaryOperator;
|
|
327
|
-
export const acos: UnaryOperator;
|
|
328
|
-
export const asin: UnaryOperator;
|
|
329
|
-
export const atan: UnaryOperator;
|
|
330
|
-
export const exp: UnaryOperator;
|
|
331
|
-
export const round: UnaryOperator;
|
|
332
|
-
export const floor: UnaryOperator;
|
|
333
|
-
export const ceil: UnaryOperator;
|
|
334
|
-
export const lessThan: BinaryOperator<0 | 1>;
|
|
335
|
-
export const eq: BinaryOperator<0 | 1>;
|
|
336
|
-
export const greaterThan: BinaryOperator<0 | 1>;
|
|
337
|
-
export const lessOrEq: BinaryOperator<0 | 1>;
|
|
338
|
-
export const greaterOrEq: BinaryOperator<0 | 1>;
|
|
339
|
-
export const neq: BinaryOperator<0 | 1>;
|
|
340
|
-
export const and: MultiOperator<0 | 1>;
|
|
341
|
-
export const or: MultiOperator<0 | 1>;
|
|
342
|
-
export function proc<T extends (Adaptable<Value> | undefined)[]>(
|
|
343
|
-
func: (...args: T) => AnimatedNode<number>
|
|
344
|
-
): typeof func;
|
|
345
|
-
export function defined(value: Adaptable<any>): AnimatedNode<0 | 1>;
|
|
346
|
-
export function not(value: Adaptable<any>): AnimatedNode<0 | 1>;
|
|
347
|
-
export function set<T extends Value>(
|
|
348
|
-
valueToBeUpdated: AnimatedValue<T>,
|
|
349
|
-
sourceNode: Adaptable<T>
|
|
350
|
-
): AnimatedNode<T>;
|
|
351
|
-
export function concat(
|
|
352
|
-
...args: Array<Adaptable<string> | Adaptable<number>>
|
|
353
|
-
): AnimatedNode<string>;
|
|
354
|
-
export function cond<T1 extends Value = number, T2 extends Value = number>(
|
|
355
|
-
conditionNode: Adaptable<number>,
|
|
356
|
-
ifNode: Adaptable<T1>,
|
|
357
|
-
elseNode?: Adaptable<T2>
|
|
358
|
-
): AnimatedNode<T1 | T2>;
|
|
359
|
-
export function block<T1 extends Value = number, T2 extends Value = any>(
|
|
360
|
-
items: ReadonlyArray<Adaptable<T2>>
|
|
361
|
-
): AnimatedNode<T1>;
|
|
362
|
-
export function call<T>(
|
|
363
|
-
args: ReadonlyArray<T | AnimatedNode<T>>,
|
|
364
|
-
callback: (args: ReadonlyArray<T>) => void
|
|
365
|
-
): AnimatedNode<0>;
|
|
366
|
-
export function debug<T>(
|
|
367
|
-
message: string,
|
|
368
|
-
value: AnimatedNode<T>
|
|
369
|
-
): AnimatedNode<T>;
|
|
370
|
-
export function onChange(
|
|
371
|
-
value: Adaptable<number>,
|
|
372
|
-
action: Adaptable<number>
|
|
373
|
-
): AnimatedNode<number>;
|
|
374
|
-
export function startClock(clock: AnimatedClock): AnimatedNode<0>;
|
|
375
|
-
export function stopClock(clock: AnimatedClock): AnimatedNode<0>;
|
|
376
|
-
export function clockRunning(clock: AnimatedClock): AnimatedNode<0 | 1>;
|
|
377
|
-
// the return type for `event` is a lie, but it's the same lie that
|
|
378
|
-
// react-native makes within Animated
|
|
379
|
-
type EventArgFunc<T> = (arg: T) => AnimatedNode<number>;
|
|
380
|
-
type EventMapping<T> = T extends object
|
|
381
|
-
? { [K in keyof T]?: EventMapping<T[K]> | EventArgFunc<T[K]> }
|
|
382
|
-
: Adaptable<T> | EventArgFunc<T>;
|
|
383
|
-
type EventMappingArray<T> = T extends Array<any>
|
|
384
|
-
? { [I in keyof T]: EventMapping<T[I]> }
|
|
385
|
-
: [EventMapping<T>];
|
|
386
|
-
export function event<T>(
|
|
387
|
-
argMapping: T extends never
|
|
388
|
-
? ReadonlyArray<Mapping>
|
|
389
|
-
: Readonly<EventMappingArray<T>>,
|
|
390
|
-
config?: {}
|
|
391
|
-
): (...args: any[]) => void;
|
|
392
|
-
|
|
393
|
-
// derived operations
|
|
394
|
-
export function abs(value: Adaptable<number>): AnimatedNode<number>;
|
|
395
|
-
export function acc(value: Adaptable<number>): AnimatedNode<number>;
|
|
396
|
-
export function color(
|
|
397
|
-
r: Adaptable<number>,
|
|
398
|
-
g: Adaptable<number>,
|
|
399
|
-
b: Adaptable<number>,
|
|
400
|
-
a?: Adaptable<number>
|
|
401
|
-
): AnimatedNode<number | string>;
|
|
402
|
-
export function diff(value: Adaptable<number>): AnimatedNode<number>;
|
|
403
|
-
export function diffClamp(
|
|
404
|
-
value: Adaptable<number>,
|
|
405
|
-
minVal: Adaptable<number>,
|
|
406
|
-
maxVal: Adaptable<number>
|
|
407
|
-
): AnimatedNode<number>;
|
|
408
|
-
export function interpolateNode(
|
|
409
|
-
value: Adaptable<number>,
|
|
410
|
-
config: InterpolationConfig
|
|
411
|
-
): AnimatedNode<number>;
|
|
412
|
-
export function interpolateColors<T extends string | number>(
|
|
413
|
-
animationValue: Adaptable<number>,
|
|
414
|
-
{
|
|
415
|
-
inputRange,
|
|
416
|
-
outputColorRange,
|
|
417
|
-
}: {
|
|
418
|
-
inputRange: ReadonlyArray<Adaptable<number>>;
|
|
419
|
-
outputColorRange: ReadonlyArray<Adaptable<T>>;
|
|
420
|
-
}
|
|
421
|
-
): AnimatedNode<T>;
|
|
422
|
-
export const max: BinaryOperator;
|
|
423
|
-
export const min: BinaryOperator;
|
|
424
|
-
|
|
425
|
-
// animations
|
|
426
|
-
export function decay(
|
|
427
|
-
clock: AnimatedClock,
|
|
428
|
-
state: DecayState,
|
|
429
|
-
config: DecayConfig
|
|
430
|
-
): AnimatedNode<number>;
|
|
431
|
-
export function timing(
|
|
432
|
-
clock: AnimatedClock,
|
|
433
|
-
state: TimingState,
|
|
434
|
-
config: TimingConfig
|
|
435
|
-
): AnimatedNode<number>;
|
|
436
|
-
export function spring(
|
|
437
|
-
clock: AnimatedClock,
|
|
438
|
-
state: SpringState,
|
|
439
|
-
config: SpringConfig
|
|
440
|
-
): AnimatedNode<number>;
|
|
441
|
-
// backward compatible API
|
|
442
|
-
export function spring(
|
|
443
|
-
node: AnimatedNode<number>,
|
|
444
|
-
config: SpringConfig
|
|
445
|
-
): BackwardCompatibleWrapper;
|
|
446
|
-
export function timing(
|
|
447
|
-
node: AnimatedNode<number>,
|
|
448
|
-
config: TimingConfig
|
|
449
|
-
): BackwardCompatibleWrapper;
|
|
450
|
-
export function decay(
|
|
451
|
-
node: AnimatedNode<number>,
|
|
452
|
-
config: DecayConfig
|
|
453
|
-
): BackwardCompatibleWrapper;
|
|
454
|
-
|
|
455
|
-
// hooks
|
|
456
|
-
export function useCode(
|
|
457
|
-
exec: () =>
|
|
458
|
-
| Nullable<AnimatedNode<number>[] | AnimatedNode<number>>
|
|
459
|
-
| boolean,
|
|
460
|
-
deps: Array<any>
|
|
461
|
-
): void;
|
|
462
|
-
export function useValue<T extends Value>(
|
|
463
|
-
initialValue: T
|
|
464
|
-
): AnimatedValue<T>;
|
|
465
|
-
|
|
466
180
|
// configuration
|
|
467
181
|
export function addWhitelistedNativeProps(props: {
|
|
468
182
|
[key: string]: true;
|
|
@@ -475,7 +189,6 @@ declare module 'react-native-reanimated' {
|
|
|
475
189
|
export type SharedValue<T> = Animated.SharedValue<T>;
|
|
476
190
|
export type AnimateStyle<S> = Animated.AnimateStyle<S>;
|
|
477
191
|
export type DerivedValue<T> = Animated.DerivedValue<T>;
|
|
478
|
-
export type Mapping = Animated.Mapping;
|
|
479
192
|
export type Adaptable<T> = Animated.Adaptable<T>;
|
|
480
193
|
export type TransformStyleTypes = Animated.TransformStyleTypes;
|
|
481
194
|
export type AdaptTransforms<T> = Animated.AdaptTransforms<T>;
|
|
@@ -1117,32 +830,6 @@ declare module 'react-native-reanimated' {
|
|
|
1117
830
|
export class RollInRight extends ComplexAnimationBuilder {}
|
|
1118
831
|
export class RollOutLeft extends ComplexAnimationBuilder {}
|
|
1119
832
|
export class RollOutRight extends ComplexAnimationBuilder {}
|
|
1120
|
-
interface EasingNodeStatic {
|
|
1121
|
-
linear: Animated.EasingNodeFunction;
|
|
1122
|
-
ease: Animated.EasingNodeFunction;
|
|
1123
|
-
quad: Animated.EasingNodeFunction;
|
|
1124
|
-
cubic: Animated.EasingNodeFunction;
|
|
1125
|
-
poly(n: Animated.Adaptable<number>): Animated.EasingNodeFunction;
|
|
1126
|
-
sin: Animated.EasingNodeFunction;
|
|
1127
|
-
circle: Animated.EasingNodeFunction;
|
|
1128
|
-
exp: Animated.EasingNodeFunction;
|
|
1129
|
-
elastic(
|
|
1130
|
-
bounciness?: Animated.Adaptable<number>
|
|
1131
|
-
): Animated.EasingNodeFunction;
|
|
1132
|
-
back(s?: Animated.Adaptable<number>): Animated.EasingNodeFunction;
|
|
1133
|
-
bounce: Animated.EasingNodeFunction;
|
|
1134
|
-
bezier(
|
|
1135
|
-
x1: number,
|
|
1136
|
-
y1: number,
|
|
1137
|
-
x2: number,
|
|
1138
|
-
y2: number
|
|
1139
|
-
): Animated.EasingNodeFunction;
|
|
1140
|
-
in(easing: Animated.EasingNodeFunction): Animated.EasingNodeFunction;
|
|
1141
|
-
out(easing: Animated.EasingNodeFunction): Animated.EasingNodeFunction;
|
|
1142
|
-
inOut(easing: Animated.EasingNodeFunction): Animated.EasingNodeFunction;
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
export const EasingNode: EasingNodeStatic;
|
|
1146
833
|
|
|
1147
834
|
interface EasingStatic {
|
|
1148
835
|
linear: Animated.EasingFunction;
|
|
@@ -1175,105 +862,9 @@ declare module 'react-native-reanimated' {
|
|
|
1175
862
|
|
|
1176
863
|
export const Easing: EasingStatic;
|
|
1177
864
|
|
|
1178
|
-
export
|
|
1179
|
-
transition: ReactNode;
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
|
-
export class TransitioningView extends Component<TransitioningViewProps> {
|
|
1183
|
-
animateNextTransition(): void;
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
export class Transitioning extends Component {
|
|
1187
|
-
static View: typeof TransitioningView;
|
|
1188
|
-
}
|
|
1189
|
-
|
|
1190
|
-
export interface TransitionProps {
|
|
1191
|
-
delayMs?: number;
|
|
1192
|
-
durationMs?: number;
|
|
1193
|
-
interpolation?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut';
|
|
1194
|
-
propagation?: 'top' | 'bottom' | 'left' | 'right';
|
|
1195
|
-
}
|
|
1196
|
-
|
|
1197
|
-
export interface TransitionInOutProps extends TransitionProps {
|
|
1198
|
-
type?:
|
|
1199
|
-
| 'fade'
|
|
1200
|
-
| 'scale'
|
|
1201
|
-
| 'slide-top'
|
|
1202
|
-
| 'slide-bottom'
|
|
1203
|
-
| 'slide-right'
|
|
1204
|
-
| 'slide-left';
|
|
1205
|
-
}
|
|
1206
|
-
export class Transition extends Component {
|
|
1207
|
-
static In: ComponentClass<TransitionInOutProps>;
|
|
1208
|
-
static Out: ComponentClass<TransitionInOutProps>;
|
|
1209
|
-
static Change: ComponentClass<TransitionProps>;
|
|
1210
|
-
static Together: ComponentClass<{}>;
|
|
1211
|
-
static Sequence: ComponentClass<{}>;
|
|
1212
|
-
}
|
|
865
|
+
export function enableLayoutAnimations(flag: boolean): void;
|
|
1213
866
|
|
|
1214
|
-
export class Clock extends Animated.Clock {}
|
|
1215
|
-
export class Value<
|
|
1216
|
-
T extends string | number | boolean
|
|
1217
|
-
> extends Animated.Value<T> {}
|
|
1218
|
-
export class Node<T> extends Animated.Node<T> {}
|
|
1219
|
-
export const add: typeof Animated.add;
|
|
1220
|
-
export const sub: typeof Animated.sub;
|
|
1221
|
-
export const multiply: typeof Animated.multiply;
|
|
1222
|
-
export const divide: typeof Animated.divide;
|
|
1223
|
-
export const pow: typeof Animated.pow;
|
|
1224
|
-
export const modulo: typeof Animated.modulo;
|
|
1225
|
-
export const sqrt: typeof Animated.sqrt;
|
|
1226
|
-
export const log: typeof Animated.log;
|
|
1227
|
-
export const sin: typeof Animated.sin;
|
|
1228
|
-
export const cos: typeof Animated.cos;
|
|
1229
|
-
export const exp: typeof Animated.exp;
|
|
1230
|
-
export const round: typeof Animated.round;
|
|
1231
|
-
export const lessThan: typeof Animated.lessThan;
|
|
1232
|
-
export const eq: typeof Animated.eq;
|
|
1233
|
-
export const greaterThan: typeof Animated.greaterThan;
|
|
1234
|
-
export const lessOrEq: typeof Animated.lessOrEq;
|
|
1235
|
-
export const greaterOrEq: typeof Animated.greaterOrEq;
|
|
1236
|
-
export const neq: typeof Animated.neq;
|
|
1237
|
-
export const and: typeof Animated.and;
|
|
1238
|
-
export const or: typeof Animated.or;
|
|
1239
|
-
export const defined: typeof Animated.defined;
|
|
1240
|
-
export const not: typeof Animated.not;
|
|
1241
|
-
export const tan: typeof Animated.tan;
|
|
1242
|
-
export const acos: typeof Animated.acos;
|
|
1243
|
-
export const asin: typeof Animated.asin;
|
|
1244
|
-
export const atan: typeof Animated.atan;
|
|
1245
|
-
export const proc: typeof Animated.proc;
|
|
1246
|
-
export const block: typeof Animated.block;
|
|
1247
|
-
export const concat: typeof Animated.concat;
|
|
1248
|
-
export const event: typeof Animated.event;
|
|
1249
|
-
export const call: typeof Animated.call;
|
|
1250
|
-
export const debug: typeof Animated.debug;
|
|
1251
|
-
export const clockRunning: typeof Animated.clockRunning;
|
|
1252
|
-
export const stopClock: typeof Animated.stopClock;
|
|
1253
|
-
export const startClock: typeof Animated.startClock;
|
|
1254
|
-
export const set: typeof Animated.set;
|
|
1255
|
-
export const cond: typeof Animated.cond;
|
|
1256
|
-
export const abs: typeof Animated.abs;
|
|
1257
|
-
export const acc: typeof Animated.acc;
|
|
1258
|
-
export const color: typeof Animated.color;
|
|
1259
|
-
export const interpolateColors: typeof Animated.interpolateColors;
|
|
1260
|
-
export const diff: typeof Animated.diff;
|
|
1261
|
-
export const diffClamp: typeof Animated.diffClamp;
|
|
1262
|
-
export const interpolateNode: typeof Animated.interpolateNode;
|
|
1263
867
|
export const Extrapolate: typeof Animated.Extrapolate;
|
|
1264
|
-
export const max: typeof Animated.max;
|
|
1265
|
-
export const min: typeof Animated.min;
|
|
1266
|
-
export const onChange: typeof Animated.onChange;
|
|
1267
|
-
export const floor: typeof Animated.floor;
|
|
1268
|
-
export const ceil: typeof Animated.ceil;
|
|
1269
|
-
export const useCode: typeof Animated.useCode;
|
|
1270
|
-
export const decay: typeof Animated.decay;
|
|
1271
|
-
export const timing: typeof Animated.timing;
|
|
1272
|
-
export const spring: typeof Animated.spring;
|
|
1273
|
-
export const SpringUtils: typeof Animated.SpringUtils;
|
|
1274
|
-
export const useValue: typeof Animated.useValue;
|
|
1275
|
-
export const ReverseAnimation: typeof Animated.ReverseAnimation;
|
|
1276
|
-
export function enableLayoutAnimations(flag: boolean): void;
|
|
1277
868
|
|
|
1278
869
|
type AnimationFactoryType = (values: LayoutAnimationsValues) => StyleProps;
|
|
1279
870
|
|
|
@@ -116,10 +116,16 @@ const has = <K extends string>(
|
|
|
116
116
|
};
|
|
117
117
|
|
|
118
118
|
function isInlineStyleTransform(transform: any): boolean {
|
|
119
|
+
if (!transform) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
119
122
|
return transform.some((t: Record<string, any>) => hasInlineStyles(t));
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
function hasInlineStyles(style: StyleProps): boolean {
|
|
126
|
+
if (!style) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
123
129
|
return Object.keys(style).some((key) => {
|
|
124
130
|
const styleValue = style[key];
|
|
125
131
|
return (
|
|
@@ -139,6 +145,9 @@ function extractSharedValuesMapFromProps(
|
|
|
139
145
|
if (key === 'style') {
|
|
140
146
|
const styles = flattenArray<StyleProps>(props.style ?? []);
|
|
141
147
|
styles.forEach((style) => {
|
|
148
|
+
if (!style) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
142
151
|
for (const [key, styleValue] of Object.entries(style)) {
|
|
143
152
|
if (isSharedValue(styleValue)) {
|
|
144
153
|
inlineProps[key] = styleValue;
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
ValueRotation,
|
|
8
8
|
IOSReferenceFrame,
|
|
9
9
|
} from '../commonTypes';
|
|
10
|
+
import { flushImmediates } from '../threads';
|
|
10
11
|
|
|
11
12
|
export type SensorConfig = {
|
|
12
13
|
interval: number | 'auto';
|
|
@@ -144,6 +145,7 @@ export function useAnimatedSensor(
|
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
147
|
sensorData.value = data;
|
|
148
|
+
flushImmediates();
|
|
147
149
|
}
|
|
148
150
|
);
|
|
149
151
|
|
|
@@ -128,7 +128,7 @@ function setupRequestAnimationFrame() {
|
|
|
128
128
|
global.__frameTimestamp = undefined;
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
// Reanimated currently does not support cancelling
|
|
131
|
+
// Reanimated currently does not support cancelling callbacks requested with
|
|
132
132
|
// requestAnimationFrame. We return -1 as identifier which isn't in line
|
|
133
133
|
// with the spec but it should give users better clue in case they actually
|
|
134
134
|
// attempt to store the value returned from rAF and use it for cancelling.
|
package/src/reanimated2/mock.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* with the version used to build the native part of the library in runtime.
|
|
4
4
|
* Remember to keep this in sync with the version declared in `package.json`
|
|
5
5
|
*/
|
|
6
|
-
const jsVersion = '3.0.
|
|
6
|
+
const jsVersion = '3.0.1';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Checks that native and js versions of reanimated match.
|
|
@@ -7,26 +7,27 @@ import {
|
|
|
7
7
|
} from './shareables';
|
|
8
8
|
|
|
9
9
|
const IS_JEST = isJest();
|
|
10
|
+
const IS_WEB = shouldBeUseWeb();
|
|
10
11
|
|
|
11
12
|
let _runOnUIQueue: Array<[ComplexWorkletFunction<any[], any>, any[]]> = [];
|
|
12
13
|
|
|
13
14
|
export function setupSetImmediate() {
|
|
14
15
|
'worklet';
|
|
15
16
|
|
|
16
|
-
let
|
|
17
|
+
let immediateCallbacks: Array<() => void> = [];
|
|
17
18
|
|
|
18
19
|
// @ts-ignore – typescript expects this to conform to NodeJS definition and expects the return value to be NodeJS.Immediate which is an object and not a number
|
|
19
20
|
global.setImmediate = (callback: () => void): number => {
|
|
20
|
-
|
|
21
|
+
immediateCallbacks.push(callback);
|
|
21
22
|
return -1;
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
global.__flushImmediates = () => {
|
|
25
|
-
for (let index = 0; index <
|
|
26
|
+
for (let index = 0; index < immediateCallbacks.length; index += 1) {
|
|
26
27
|
// we use classic 'for' loop because the size of the currentTasks array may change while executing some of the callbacks due to setImmediate calls
|
|
27
|
-
|
|
28
|
+
immediateCallbacks[index]();
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
immediateCallbacks = [];
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
|
|
@@ -49,10 +50,8 @@ export const flushImmediates = shouldBeUseWeb()
|
|
|
49
50
|
export function runOnUI<A extends any[], R>(
|
|
50
51
|
worklet: ComplexWorkletFunction<A, R>
|
|
51
52
|
): (...args: A) => void {
|
|
52
|
-
if (__DEV__ && !
|
|
53
|
-
|
|
54
|
-
throw new Error('runOnUI() can only be used on worklets');
|
|
55
|
-
}
|
|
53
|
+
if (__DEV__ && !IS_WEB && worklet.__workletHash === undefined) {
|
|
54
|
+
throw new Error('runOnUI() can only be used on worklets');
|
|
56
55
|
}
|
|
57
56
|
return (...args) => {
|
|
58
57
|
if (IS_JEST) {
|
|
@@ -98,10 +97,8 @@ export function runOnUI<A extends any[], R>(
|
|
|
98
97
|
export function runOnUIImmediately<A extends any[], R>(
|
|
99
98
|
worklet: ComplexWorkletFunction<A, R>
|
|
100
99
|
): (...args: A) => void {
|
|
101
|
-
if (__DEV__) {
|
|
102
|
-
|
|
103
|
-
throw new Error('runOnUI() can only be used on worklets');
|
|
104
|
-
}
|
|
100
|
+
if (__DEV__ && !IS_WEB && worklet.__workletHash === undefined) {
|
|
101
|
+
throw new Error('runOnUI() can only be used on worklets');
|
|
105
102
|
}
|
|
106
103
|
return (...args) => {
|
|
107
104
|
NativeReanimatedModule.scheduleOnUI(
|
package/src/reanimated2/utils.ts
CHANGED