react-native-fast-animate 0.1.0

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.
@@ -0,0 +1,1984 @@
1
+ "use strict";
2
+
3
+ import { Animated, Easing } from 'react-native';
4
+ export const getAnimationConfig = (type, animatedValue, duration, useNativeDriver, damping, stiffness) => {
5
+ const commonTiming = (toValue, d = duration) => Animated.timing(animatedValue, {
6
+ toValue,
7
+ duration: d,
8
+ useNativeDriver,
9
+ easing: Easing.bezier(0.42, 0, 0.58, 1)
10
+ });
11
+ const attentionSeeker = values => {
12
+ const segment = duration / values.length;
13
+ return Animated.sequence(values.map(v => commonTiming(v, segment)));
14
+ };
15
+ switch (type) {
16
+ case 'bounce':
17
+ case 'bounceIn':
18
+ case 'bounceInUp':
19
+ case 'bounceInDown':
20
+ case 'bounceInLeft':
21
+ case 'bounceInRight':
22
+ case 'flingInLeft':
23
+ case 'flingInRight':
24
+ case 'flingInUp':
25
+ case 'flingInDown':
26
+ case 'bounceInTopLeft':
27
+ case 'bounceInTopRight':
28
+ case 'bounceInBottomLeft':
29
+ case 'bounceInBottomRight':
30
+ return Animated.spring(animatedValue, {
31
+ toValue: 1,
32
+ friction: damping,
33
+ tension: stiffness,
34
+ useNativeDriver
35
+ });
36
+ case 'pulse':
37
+ case 'pulseAlt':
38
+ return Animated.sequence([commonTiming(1, duration / 2), commonTiming(0, duration / 2)]);
39
+ case 'shake':
40
+ case 'shakeX':
41
+ case 'shakeY':
42
+ case 'headShake':
43
+ return attentionSeeker([0.1, -0.1, 0.1, -0.1, 0]);
44
+ case 'swing':
45
+ case 'wobble':
46
+ case 'jello':
47
+ case 'tada':
48
+ return attentionSeeker([0.2, -0.2, 0.2, -0.2, 0.1, -0.1, 0]);
49
+ case 'heartBeat':
50
+ return Animated.sequence([commonTiming(1, duration * 0.14), commonTiming(0, duration * 0.14), commonTiming(1, duration * 0.14), commonTiming(0, duration * 0.14)]);
51
+ case 'rubberBand':
52
+ return attentionSeeker([1.25, 0.75, 1.15, 0.95, 1.05, 1]);
53
+ case 'flash':
54
+ return attentionSeeker([0, 1, 0, 1, 0]);
55
+ case 'hinge':
56
+ return Animated.sequence([Animated.timing(animatedValue, {
57
+ toValue: 0.5,
58
+ duration: duration * 0.4,
59
+ useNativeDriver
60
+ }), Animated.timing(animatedValue, {
61
+ toValue: 1,
62
+ duration: duration * 0.6,
63
+ useNativeDriver
64
+ })]);
65
+ case 'bounceInfinite':
66
+ case 'rotateInfinite':
67
+ case 'slideInfinite':
68
+ case 'flipInfinite':
69
+ case 'flipInfiniteX':
70
+ case 'flipInfiniteY':
71
+ case 'swingInfinite':
72
+ case 'wobbleInfinite':
73
+ case 'pulseInfinite':
74
+ case 'jelloInfinite':
75
+ case 'shimmer':
76
+ case 'shimmerSlow':
77
+ case 'float':
78
+ case 'floatLeft':
79
+ case 'floatRight':
80
+ case 'floatUp':
81
+ case 'floatDown':
82
+ case 'orbit':
83
+ case 'satellite':
84
+ return commonTiming(1);
85
+ case 'newspaper':
86
+ return Animated.parallel([commonTiming(1), Animated.timing(animatedValue, {
87
+ toValue: 1,
88
+ duration,
89
+ useNativeDriver,
90
+ easing: Easing.out(Easing.quad)
91
+ })]);
92
+ case 'dance':
93
+ return attentionSeeker([0.1, -0.1, 0.1, -0.1, 0.2, -0.2, 0]);
94
+ case 'jerk':
95
+ return attentionSeeker([-0.1, 0.1, -0.1, 0.1, 0]);
96
+ case 'panic':
97
+ return attentionSeeker([0.05, -0.05, 0.05, -0.05, 0.1, -0.1, 0]);
98
+ case 'popIn':
99
+ case 'popInUp':
100
+ case 'popInDown':
101
+ case 'popInLeft':
102
+ case 'popInRight':
103
+ case 'fallIn':
104
+ case 'raiseIn':
105
+ return Animated.spring(animatedValue, {
106
+ toValue: 1,
107
+ friction: 8,
108
+ tension: 40,
109
+ useNativeDriver
110
+ });
111
+ case 'vibrateFast':
112
+ return attentionSeeker([0.05, -0.05, 0.05, -0.05, 0]);
113
+ case 'vibrateSlow':
114
+ return attentionSeeker([0.2, -0.2, 0.2, -0.2, 0]);
115
+ case 'pulseFast':
116
+ return Animated.sequence([commonTiming(1, duration / 4), commonTiming(0, duration / 4)]);
117
+ case 'pulseSlow':
118
+ return Animated.sequence([commonTiming(1, duration), commonTiming(0, duration)]);
119
+ case 'flashFast':
120
+ return attentionSeeker([0, 1, 0, 1, 0, 1, 0]);
121
+ default:
122
+ return commonTiming(1);
123
+ }
124
+ };
125
+ export const getAnimationStyle = (type, animatedValue) => {
126
+ const t = (input, output) => animatedValue.interpolate({
127
+ inputRange: input,
128
+ outputRange: output
129
+ });
130
+ const transforms = [];
131
+ switch (type) {
132
+ // FADES
133
+ case 'fadeIn':
134
+ return {
135
+ opacity: animatedValue
136
+ };
137
+ case 'fadeInUp':
138
+ transforms.push({
139
+ translateY: t([0, 1], [40, 0])
140
+ });
141
+ return {
142
+ opacity: animatedValue,
143
+ transform: transforms
144
+ };
145
+ case 'fadeInDown':
146
+ transforms.push({
147
+ translateY: t([0, 1], [-40, 0])
148
+ });
149
+ return {
150
+ opacity: animatedValue,
151
+ transform: transforms
152
+ };
153
+ case 'fadeInLeft':
154
+ transforms.push({
155
+ translateX: t([0, 1], [-40, 0])
156
+ });
157
+ return {
158
+ opacity: animatedValue,
159
+ transform: transforms
160
+ };
161
+ case 'fadeInRight':
162
+ transforms.push({
163
+ translateX: t([0, 1], [40, 0])
164
+ });
165
+ return {
166
+ opacity: animatedValue,
167
+ transform: transforms
168
+ };
169
+ case 'fadeInTopLeft':
170
+ transforms.push({
171
+ translateX: t([0, 1], [-100, 0]),
172
+ translateY: t([0, 1], [-100, 0])
173
+ });
174
+ return {
175
+ opacity: animatedValue,
176
+ transform: transforms
177
+ };
178
+ case 'fadeInTopRight':
179
+ transforms.push({
180
+ translateX: t([0, 1], [100, 0]),
181
+ translateY: t([0, 1], [-100, 0])
182
+ });
183
+ return {
184
+ opacity: animatedValue,
185
+ transform: transforms
186
+ };
187
+ case 'fadeInBottomLeft':
188
+ transforms.push({
189
+ translateX: t([0, 1], [-100, 0]),
190
+ translateY: t([0, 1], [100, 0])
191
+ });
192
+ return {
193
+ opacity: animatedValue,
194
+ transform: transforms
195
+ };
196
+ case 'fadeInBottomRight':
197
+ transforms.push({
198
+ translateX: t([0, 1], [100, 0]),
199
+ translateY: t([0, 1], [100, 0])
200
+ });
201
+ return {
202
+ opacity: animatedValue,
203
+ transform: transforms
204
+ };
205
+ case 'fadeOut':
206
+ return {
207
+ opacity: t([0, 1], [1, 0])
208
+ };
209
+ case 'fadeOutUp':
210
+ transforms.push({
211
+ translateY: t([0, 1], [0, -40])
212
+ });
213
+ return {
214
+ opacity: t([0, 1], [1, 0]),
215
+ transform: transforms
216
+ };
217
+ case 'fadeOutDown':
218
+ transforms.push({
219
+ translateY: t([0, 1], [0, 40])
220
+ });
221
+ return {
222
+ opacity: t([0, 1], [1, 0]),
223
+ transform: transforms
224
+ };
225
+ case 'fadeOutLeft':
226
+ transforms.push({
227
+ translateX: t([0, 1], [0, -40])
228
+ });
229
+ return {
230
+ opacity: t([0, 1], [1, 0]),
231
+ transform: transforms
232
+ };
233
+ case 'fadeOutRight':
234
+ transforms.push({
235
+ translateX: t([0, 1], [0, 40])
236
+ });
237
+ return {
238
+ opacity: t([0, 1], [1, 0]),
239
+ transform: transforms
240
+ };
241
+
242
+ // SLIDES
243
+ case 'slideInUp':
244
+ transforms.push({
245
+ translateY: t([0, 1], [500, 0])
246
+ });
247
+ return {
248
+ transform: transforms
249
+ };
250
+ case 'slideInDown':
251
+ transforms.push({
252
+ translateY: t([0, 1], [-500, 0])
253
+ });
254
+ return {
255
+ transform: transforms
256
+ };
257
+ case 'slideInLeft':
258
+ transforms.push({
259
+ translateX: t([0, 1], [-500, 0])
260
+ });
261
+ return {
262
+ transform: transforms
263
+ };
264
+ case 'slideInRight':
265
+ transforms.push({
266
+ translateX: t([0, 1], [500, 0])
267
+ });
268
+ return {
269
+ transform: transforms
270
+ };
271
+ case 'slideInTopLeft':
272
+ transforms.push({
273
+ translateX: t([0, 1], [-500, 0]),
274
+ translateY: t([0, 1], [-500, 0])
275
+ });
276
+ return {
277
+ transform: transforms
278
+ };
279
+ case 'slideInTopRight':
280
+ transforms.push({
281
+ translateX: t([0, 1], [500, 0]),
282
+ translateY: t([0, 1], [-500, 0])
283
+ });
284
+ return {
285
+ transform: transforms
286
+ };
287
+ case 'slideInBottomLeft':
288
+ transforms.push({
289
+ translateX: t([0, 1], [-500, 0]),
290
+ translateY: t([0, 1], [500, 0])
291
+ });
292
+ return {
293
+ transform: transforms
294
+ };
295
+ case 'slideInBottomRight':
296
+ transforms.push({
297
+ translateX: t([0, 1], [500, 0]),
298
+ translateY: t([0, 1], [500, 0])
299
+ });
300
+ return {
301
+ transform: transforms
302
+ };
303
+ case 'slideOutUp':
304
+ transforms.push({
305
+ translateY: t([0, 1], [0, -500])
306
+ });
307
+ return {
308
+ transform: transforms
309
+ };
310
+ case 'slideOutDown':
311
+ transforms.push({
312
+ translateY: t([0, 1], [0, 500])
313
+ });
314
+ return {
315
+ transform: transforms
316
+ };
317
+ case 'slideOutLeft':
318
+ transforms.push({
319
+ translateX: t([0, 1], [0, -500])
320
+ });
321
+ return {
322
+ transform: transforms
323
+ };
324
+ case 'slideOutRight':
325
+ transforms.push({
326
+ translateX: t([0, 1], [0, 500])
327
+ });
328
+ return {
329
+ transform: transforms
330
+ };
331
+
332
+ // ZOOMS
333
+ case 'zoomIn':
334
+ transforms.push({
335
+ scale: t([0, 1], [0, 1])
336
+ });
337
+ return {
338
+ opacity: animatedValue,
339
+ transform: transforms
340
+ };
341
+ case 'zoomInUp':
342
+ transforms.push({
343
+ scale: t([0, 0.6, 1], [0.1, 0.47, 1]),
344
+ translateY: t([0, 0.6, 1], [1000, -60, 0])
345
+ });
346
+ return {
347
+ opacity: t([0, 0.6, 1], [0, 1, 1]),
348
+ transform: transforms
349
+ };
350
+ case 'zoomInDown':
351
+ transforms.push({
352
+ scale: t([0, 0.6, 1], [0.1, 0.47, 1]),
353
+ translateY: t([0, 0.6, 1], [-1000, 60, 0])
354
+ });
355
+ return {
356
+ opacity: t([0, 0.6, 1], [0, 1, 1]),
357
+ transform: transforms
358
+ };
359
+ case 'zoomInLeft':
360
+ transforms.push({
361
+ scale: t([0, 0.6, 1], [0.1, 0.47, 1]),
362
+ translateX: t([0, 0.6, 1], [-1000, 10, 0])
363
+ });
364
+ return {
365
+ opacity: t([0, 0.6, 1], [0, 1, 1]),
366
+ transform: transforms
367
+ };
368
+ case 'zoomInRight':
369
+ transforms.push({
370
+ scale: t([0, 0.6, 1], [0.1, 0.47, 1]),
371
+ translateX: t([0, 0.6, 1], [1000, -10, 0])
372
+ });
373
+ return {
374
+ opacity: t([0, 0.6, 1], [0, 1, 1]),
375
+ transform: transforms
376
+ };
377
+ case 'zoomInTopLeft':
378
+ transforms.push({
379
+ scale: t([0, 1], [0.1, 1]),
380
+ translateX: t([0, 1], [-1000, 0]),
381
+ translateY: t([0, 1], [-1000, 0])
382
+ });
383
+ return {
384
+ opacity: animatedValue,
385
+ transform: transforms
386
+ };
387
+ case 'zoomInTopRight':
388
+ transforms.push({
389
+ scale: t([0, 1], [0.1, 1]),
390
+ translateX: t([0, 1], [1000, 0]),
391
+ translateY: t([0, 1], [-1000, 0])
392
+ });
393
+ return {
394
+ opacity: animatedValue,
395
+ transform: transforms
396
+ };
397
+ case 'zoomInBottomLeft':
398
+ transforms.push({
399
+ scale: t([0, 1], [0.1, 1]),
400
+ translateX: t([0, 1], [-1000, 0]),
401
+ translateY: t([0, 1], [1000, 0])
402
+ });
403
+ return {
404
+ opacity: animatedValue,
405
+ transform: transforms
406
+ };
407
+ case 'zoomInBottomRight':
408
+ transforms.push({
409
+ scale: t([0, 1], [0.1, 1]),
410
+ translateX: t([0, 1], [1000, 0]),
411
+ translateY: t([0, 1], [1000, 0])
412
+ });
413
+ return {
414
+ opacity: animatedValue,
415
+ transform: transforms
416
+ };
417
+ case 'zoomOut':
418
+ transforms.push({
419
+ scale: t([0, 1], [1, 0])
420
+ });
421
+ return {
422
+ opacity: t([0, 1], [1, 0]),
423
+ transform: transforms
424
+ };
425
+ case 'zoomOutUp':
426
+ transforms.push({
427
+ scale: t([0, 0.4, 1], [1, 0.47, 0.1]),
428
+ translateY: t([0, 1], [0, -1000])
429
+ });
430
+ return {
431
+ opacity: t([0, 0.4, 1], [1, 1, 0]),
432
+ transform: transforms
433
+ };
434
+ case 'zoomOutDown':
435
+ transforms.push({
436
+ scale: t([0, 0.4, 1], [1, 0.47, 0.1]),
437
+ translateY: t([0, 1], [0, 1000])
438
+ });
439
+ return {
440
+ opacity: t([0, 0.4, 1], [1, 1, 0]),
441
+ transform: transforms
442
+ };
443
+ case 'zoomOutLeft':
444
+ transforms.push({
445
+ scale: t([0, 1], [1, 0]),
446
+ translateX: t([0, 1], [0, -1000])
447
+ });
448
+ return {
449
+ opacity: t([0, 1], [1, 0]),
450
+ transform: transforms
451
+ };
452
+ case 'zoomOutRight':
453
+ transforms.push({
454
+ scale: t([0, 1], [1, 0]),
455
+ translateX: t([0, 1], [0, 1000])
456
+ });
457
+ return {
458
+ opacity: t([0, 1], [1, 0]),
459
+ transform: transforms
460
+ };
461
+
462
+ // BACKS
463
+ case 'backInUp':
464
+ transforms.push({
465
+ translateY: t([0, 0.8, 1], [800, -15, 0]),
466
+ scale: t([0, 0.8, 1], [0.7, 0.7, 1])
467
+ });
468
+ return {
469
+ opacity: t([0, 0.8], [0.7, 1]),
470
+ transform: transforms
471
+ };
472
+ case 'backInDown':
473
+ transforms.push({
474
+ translateY: t([0, 0.8, 1], [-800, 15, 0]),
475
+ scale: t([0, 0.8, 1], [0.7, 0.7, 1])
476
+ });
477
+ return {
478
+ opacity: t([0, 0.8], [0.7, 1]),
479
+ transform: transforms
480
+ };
481
+ case 'backInLeft':
482
+ transforms.push({
483
+ translateX: t([0, 0.8, 1], [-800, 15, 0]),
484
+ scale: t([0, 0.8, 1], [0.7, 0.7, 1])
485
+ });
486
+ return {
487
+ opacity: t([0, 0.8], [0.7, 1]),
488
+ transform: transforms
489
+ };
490
+ case 'backInRight':
491
+ transforms.push({
492
+ translateX: t([0, 0.8, 1], [800, -15, 0]),
493
+ scale: t([0, 0.8, 1], [0.7, 0.7, 1])
494
+ });
495
+ return {
496
+ opacity: t([0, 0.8], [0.7, 1]),
497
+ transform: transforms
498
+ };
499
+ case 'backOutUp':
500
+ transforms.push({
501
+ translateY: t([0, 0.2, 1], [0, 15, -800]),
502
+ scale: t([0, 0.2, 1], [1, 0.7, 0.7])
503
+ });
504
+ return {
505
+ opacity: t([0, 0.2, 1], [1, 1, 0.7]),
506
+ transform: transforms
507
+ };
508
+ case 'backOutDown':
509
+ transforms.push({
510
+ translateY: t([0, 0.2, 1], [0, -15, 800]),
511
+ scale: t([0, 0.2, 1], [1, 0.7, 0.7])
512
+ });
513
+ return {
514
+ opacity: t([0, 0.2, 1], [1, 1, 0.7]),
515
+ transform: transforms
516
+ };
517
+ case 'backOutLeft':
518
+ transforms.push({
519
+ translateX: t([0, 0.2, 1], [0, 15, -800]),
520
+ scale: t([0, 0.2, 1], [1, 0.7, 0.7])
521
+ });
522
+ return {
523
+ opacity: t([0, 0.2, 1], [1, 1, 0.7]),
524
+ transform: transforms
525
+ };
526
+ case 'backOutRight':
527
+ transforms.push({
528
+ translateX: t([0, 0.2, 1], [0, -15, 800]),
529
+ scale: t([0, 0.2, 1], [1, 0.7, 0.7])
530
+ });
531
+ return {
532
+ opacity: t([0, 0.2, 1], [1, 1, 0.7]),
533
+ transform: transforms
534
+ };
535
+
536
+ // BOUNCES
537
+ case 'bounce':
538
+ transforms.push({
539
+ translateY: t([0, 0.2, 0.4, 0.43, 0.53, 0.7, 0.8, 0.9, 1], [0, 0, -30, -30, 0, -15, 0, -4, 0])
540
+ });
541
+ return {
542
+ transform: transforms
543
+ };
544
+ case 'bounceIn':
545
+ transforms.push({
546
+ scale: t([0, 0.2, 0.4, 0.6, 0.8, 1], [0.3, 1.1, 0.9, 1.03, 0.97, 1])
547
+ });
548
+ return {
549
+ opacity: t([0, 0.2], [0, 1]),
550
+ transform: transforms
551
+ };
552
+ case 'bounceInUp':
553
+ transforms.push({
554
+ translateY: t([0, 0.6, 0.75, 0.9, 1], [1000, -20, 10, -5, 0])
555
+ });
556
+ return {
557
+ opacity: t([0, 0.6], [0, 1]),
558
+ transform: transforms
559
+ };
560
+ case 'bounceInDown':
561
+ transforms.push({
562
+ translateY: t([0, 0.6, 0.75, 0.9, 1], [-1000, 20, -10, 5, 0])
563
+ });
564
+ return {
565
+ opacity: t([0, 0.6], [0, 1]),
566
+ transform: transforms
567
+ };
568
+ case 'bounceInLeft':
569
+ transforms.push({
570
+ translateX: t([0, 0.6, 0.75, 0.9, 1], [-1000, 20, -10, 5, 0])
571
+ });
572
+ return {
573
+ opacity: t([0, 0.6], [0, 1]),
574
+ transform: transforms
575
+ };
576
+ case 'bounceInRight':
577
+ transforms.push({
578
+ translateX: t([0, 0.6, 0.75, 0.9, 1], [1000, -20, 10, -5, 0])
579
+ });
580
+ return {
581
+ opacity: t([0, 0.6], [0, 1]),
582
+ transform: transforms
583
+ };
584
+ case 'bounceOut':
585
+ transforms.push({
586
+ scale: t([0, 0.2, 0.5, 0.55, 1], [1, 0.9, 1.1, 1.1, 0.3])
587
+ });
588
+ return {
589
+ opacity: t([0, 0.55, 1], [1, 1, 0]),
590
+ transform: transforms
591
+ };
592
+ case 'bounceOutUp':
593
+ transforms.push({
594
+ translateY: t([0, 0.2, 0.4, 0.45, 1], [0, -10, 20, 20, -1000])
595
+ });
596
+ return {
597
+ opacity: t([0, 0.45, 1], [1, 1, 0]),
598
+ transform: transforms
599
+ };
600
+ case 'bounceOutDown':
601
+ transforms.push({
602
+ translateY: t([0, 0.2, 0.4, 0.45, 1], [0, 10, -20, -20, 1000])
603
+ });
604
+ return {
605
+ opacity: t([0, 0.45, 1], [1, 1, 0]),
606
+ transform: transforms
607
+ };
608
+ case 'bounceOutLeft':
609
+ transforms.push({
610
+ translateX: t([0, 0.2, 1], [0, 20, -1000])
611
+ });
612
+ return {
613
+ opacity: t([0, 0.2, 1], [1, 1, 0]),
614
+ transform: transforms
615
+ };
616
+ case 'bounceOutRight':
617
+ transforms.push({
618
+ translateX: t([0, 0.2, 1], [0, -20, 1000])
619
+ });
620
+ return {
621
+ opacity: t([0, 0.2, 1], [1, 1, 0]),
622
+ transform: transforms
623
+ };
624
+
625
+ // ATTENTION SEEKERS
626
+ case 'pulse':
627
+ transforms.push({
628
+ scale: t([0, 0.5, 1], [1, 1.05, 1])
629
+ });
630
+ return {
631
+ transform: transforms
632
+ };
633
+ case 'pulseAlt':
634
+ transforms.push({
635
+ scale: t([0, 0.5, 1], [1, 1.2, 1])
636
+ });
637
+ return {
638
+ opacity: t([0, 0.5, 1], [1, 0.8, 1]),
639
+ transform: transforms
640
+ };
641
+ case 'shake':
642
+ transforms.push({
643
+ translateX: t([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], [0, -10, 10, -10, 10, -10, 10, -10, 10, -10, 0])
644
+ });
645
+ return {
646
+ transform: transforms
647
+ };
648
+ case 'shakeX':
649
+ transforms.push({
650
+ translateX: t([0, 0.1, 0.3, 0.5, 0.7, 0.9, 1], [0, -10, 10, -10, 10, -10, 0])
651
+ });
652
+ return {
653
+ transform: transforms
654
+ };
655
+ case 'shakeY':
656
+ transforms.push({
657
+ translateY: t([0, 0.1, 0.3, 0.5, 0.7, 0.9, 1], [0, -10, 10, -10, 10, -10, 0])
658
+ });
659
+ return {
660
+ transform: transforms
661
+ };
662
+ case 'headShake':
663
+ transforms.push({
664
+ translateX: t([0, 0.065, 0.185, 0.315, 0.435, 0.5, 1], [0, -6, 5, -3, 2, 0, 0]),
665
+ rotateY: t([0, 0.065, 0.185, 0.315, 0.435, 0.5, 1], ['0deg', '-9deg', '7deg', '-5deg', '3deg', '0deg', '0deg'])
666
+ });
667
+ return {
668
+ transform: transforms
669
+ };
670
+ case 'swing':
671
+ transforms.push({
672
+ rotate: t([0, 0.2, 0.4, 0.6, 0.8, 1], ['0deg', '15deg', '-10deg', '5deg', '-5deg', '0deg'])
673
+ });
674
+ return {
675
+ transform: transforms
676
+ };
677
+ case 'tada':
678
+ transforms.push({
679
+ scale: t([0, 0.1, 0.2, 0.3, 1], [1, 0.9, 0.9, 1.1, 1]),
680
+ rotate: t([0, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], ['0deg', '3deg', '-3deg', '3deg', '-3deg', '3deg', '-3deg', '3deg', '0deg'])
681
+ });
682
+ return {
683
+ transform: transforms
684
+ };
685
+ case 'wobble':
686
+ transforms.push({
687
+ translateX: t([0, 0.15, 0.3, 0.45, 0.6, 0.75, 1], [0, -25, 20, -15, 10, -5, 0]),
688
+ rotate: t([0, 0.15, 0.3, 0.45, 0.6, 0.75, 1], ['0deg', '-5deg', '3deg', '-3deg', '2deg', '-1deg', '0deg'])
689
+ });
690
+ return {
691
+ transform: transforms
692
+ };
693
+ case 'jello':
694
+ transforms.push({
695
+ skewX: t([0, 0.111, 0.222, 0.333, 0.444, 0.555, 0.666, 0.777, 0.888, 1], ['0deg', '-12.5deg', '6.25deg', '-3.125deg', '1.5625deg', '-0.78125deg', '0.390625deg', '-0.1953125deg', '0deg', '0deg']),
696
+ skewY: t([0, 0.111, 0.222, 0.333, 0.444, 0.555, 0.666, 0.777, 0.888, 1], ['0deg', '-12.5deg', '6.25deg', '-3.125deg', '1.5625deg', '-0.78125deg', '0.390625deg', '-0.1953125deg', '0deg', '0deg'])
697
+ });
698
+ return {
699
+ transform: transforms
700
+ };
701
+ case 'heartBeat':
702
+ transforms.push({
703
+ scale: t([0, 0.14, 0.28, 0.42, 0.7, 1], [1, 1.3, 1, 1.3, 1, 1])
704
+ });
705
+ return {
706
+ transform: transforms
707
+ };
708
+ case 'flash':
709
+ return {
710
+ opacity: t([0, 0.25, 0.5, 0.75, 1], [1, 0, 1, 0, 1])
711
+ };
712
+ case 'rubberBand':
713
+ transforms.push({
714
+ scaleX: t([0, 0.3, 0.4, 0.5, 0.65, 0.75, 1], [1, 1.25, 0.75, 1.15, 0.95, 1.05, 1]),
715
+ scaleY: t([0, 0.3, 0.4, 0.5, 0.65, 0.75, 1], [1, 0.75, 1.25, 0.85, 1.05, 0.95, 1])
716
+ });
717
+ return {
718
+ transform: transforms
719
+ };
720
+
721
+ // FLIPPERS
722
+ case 'flip':
723
+ transforms.push({
724
+ perspective: 400,
725
+ rotateY: t([0, 0.4, 0.5, 0.8, 1], ['-360deg', '-190deg', '-170deg', '-3deg', '0deg']),
726
+ scale: t([0, 0.4, 0.5, 0.8, 1], [1, 1.4, 1.4, 1, 1])
727
+ });
728
+ return {
729
+ transform: transforms
730
+ };
731
+ case 'flipInX':
732
+ transforms.push({
733
+ perspective: 400,
734
+ rotateX: t([0, 0.4, 0.6, 0.8, 1], ['90deg', '-20deg', '10deg', '-5deg', '0deg'])
735
+ });
736
+ return {
737
+ opacity: t([0, 0.6], [0, 1]),
738
+ transform: transforms
739
+ };
740
+ case 'flipInY':
741
+ transforms.push({
742
+ perspective: 400,
743
+ rotateY: t([0, 0.4, 0.6, 0.8, 1], ['90deg', '-20deg', '10deg', '-5deg', '0deg'])
744
+ });
745
+ return {
746
+ opacity: t([0, 0.6], [0, 1]),
747
+ transform: transforms
748
+ };
749
+ case 'flipOutX':
750
+ transforms.push({
751
+ perspective: 400,
752
+ rotateX: t([0, 0.3, 1], [0, -20, 90])
753
+ });
754
+ return {
755
+ opacity: t([0, 0.3, 1], [1, 1, 0]),
756
+ transform: transforms
757
+ };
758
+ case 'flipOutY':
759
+ transforms.push({
760
+ perspective: 400,
761
+ rotateY: t([0, 0.3, 1], [0, -20, 90])
762
+ });
763
+ return {
764
+ opacity: t([0, 0.3, 1], [1, 1, 0]),
765
+ transform: transforms
766
+ };
767
+
768
+ // ROTATES
769
+ case 'rotateIn':
770
+ transforms.push({
771
+ rotate: t([0, 1], ['-200deg', '0deg'])
772
+ });
773
+ return {
774
+ opacity: animatedValue,
775
+ transform: transforms
776
+ };
777
+ case 'rotateInDownLeft':
778
+ transforms.push({
779
+ rotate: t([0, 1], ['-45deg', '0deg'])
780
+ });
781
+ return {
782
+ opacity: animatedValue,
783
+ transform: transforms
784
+ };
785
+ case 'rotateInDownRight':
786
+ transforms.push({
787
+ rotate: t([0, 1], ['45deg', '0deg'])
788
+ });
789
+ return {
790
+ opacity: animatedValue,
791
+ transform: transforms
792
+ };
793
+ case 'rotateInUpLeft':
794
+ transforms.push({
795
+ rotate: t([0, 1], ['45deg', '0deg'])
796
+ });
797
+ return {
798
+ opacity: animatedValue,
799
+ transform: transforms
800
+ };
801
+ case 'rotateInUpRight':
802
+ transforms.push({
803
+ rotate: t([0, 1], ['-45deg', '0deg'])
804
+ });
805
+ return {
806
+ opacity: animatedValue,
807
+ transform: transforms
808
+ };
809
+ case 'rotateOut':
810
+ transforms.push({
811
+ rotate: t([0, 1], ['0deg', '200deg'])
812
+ });
813
+ return {
814
+ opacity: t([0, 1], [1, 0]),
815
+ transform: transforms
816
+ };
817
+ case 'rotateOutDownLeft':
818
+ transforms.push({
819
+ rotate: t([0, 1], ['0deg', '45deg'])
820
+ });
821
+ return {
822
+ opacity: t([0, 1], [1, 0]),
823
+ transform: transforms
824
+ };
825
+ case 'rotateOutDownRight':
826
+ transforms.push({
827
+ rotate: t([0, 1], ['0deg', '-45deg'])
828
+ });
829
+ return {
830
+ opacity: t([0, 1], [1, 0]),
831
+ transform: transforms
832
+ };
833
+
834
+ // LIGHTSPEED
835
+ case 'lightSpeedInRight':
836
+ transforms.push({
837
+ translateX: t([0, 0.6, 0.8, 1], [500, 0, 0, 0]),
838
+ skewX: t([0, 0.6, 0.8, 1], ['-30deg', '20deg', '-5deg', '0deg'])
839
+ });
840
+ return {
841
+ opacity: t([0, 0.6], [0, 1]),
842
+ transform: transforms
843
+ };
844
+ case 'lightSpeedInLeft':
845
+ transforms.push({
846
+ translateX: t([0, 0.6, 0.8, 1], [-500, 0, 0, 0]),
847
+ skewX: t([0, 0.6, 0.8, 1], ['30deg', '-20deg', '5deg', '0deg'])
848
+ });
849
+ return {
850
+ opacity: t([0, 0.6], [0, 1]),
851
+ transform: transforms
852
+ };
853
+ case 'lightSpeedOutRight':
854
+ transforms.push({
855
+ translateX: t([0, 1], [0, 500]),
856
+ skewX: t([0, 1], ['0deg', '30deg'])
857
+ });
858
+ return {
859
+ opacity: t([0, 1], [1, 0]),
860
+ transform: transforms
861
+ };
862
+ case 'lightSpeedOutLeft':
863
+ transforms.push({
864
+ translateX: t([0, 1], [0, -500]),
865
+ skewX: t([0, 1], ['0deg', '-30deg'])
866
+ });
867
+ return {
868
+ opacity: t([0, 1], [1, 0]),
869
+ transform: transforms
870
+ };
871
+
872
+ // SPECIALS
873
+ case 'rollIn':
874
+ transforms.push({
875
+ translateX: t([0, 1], [-500, 0]),
876
+ rotate: t([0, 1], ['-120deg', '0deg'])
877
+ });
878
+ return {
879
+ opacity: animatedValue,
880
+ transform: transforms
881
+ };
882
+ case 'rollOut':
883
+ transforms.push({
884
+ translateX: t([0, 1], [0, 500]),
885
+ rotate: t([0, 1], ['0deg', '120deg'])
886
+ });
887
+ return {
888
+ opacity: t([0, 1], [1, 0]),
889
+ transform: transforms
890
+ };
891
+ case 'jackInTheBox':
892
+ transforms.push({
893
+ scale: t([0, 0.5, 0.7, 1], [0.1, 0.5, 0.5, 1]),
894
+ rotate: t([0, 0.5, 0.7, 1], ['30deg', '-10deg', '3deg', '0deg'])
895
+ });
896
+ return {
897
+ opacity: animatedValue,
898
+ transform: transforms
899
+ };
900
+ case 'hinge':
901
+ transforms.push({
902
+ rotate: t([0, 0.2, 0.4, 0.6, 0.8, 1], ['0deg', '80deg', '60deg', '80deg', '60deg', '0deg']),
903
+ translateY: t([0, 0.8, 1], [0, 0, 700])
904
+ });
905
+ return {
906
+ opacity: t([0, 0.8, 1], [1, 1, 0]),
907
+ transform: transforms
908
+ };
909
+ case 'spiralIn':
910
+ transforms.push({
911
+ scale: t([0, 1], [0, 1]),
912
+ rotate: t([0, 1], ['-720deg', '0deg'])
913
+ });
914
+ return {
915
+ opacity: animatedValue,
916
+ transform: transforms
917
+ };
918
+ case 'spiralOut':
919
+ transforms.push({
920
+ scale: t([0, 1], [1, 0]),
921
+ rotate: t([0, 1], ['0deg', '720deg'])
922
+ });
923
+ return {
924
+ opacity: t([0, 1], [1, 0]),
925
+ transform: transforms
926
+ };
927
+ case 'focusIn':
928
+ transforms.push({
929
+ scale: t([0, 1], [1.2, 1])
930
+ });
931
+ return {
932
+ opacity: animatedValue,
933
+ transform: transforms
934
+ };
935
+ case 'focusOut':
936
+ transforms.push({
937
+ scale: t([0, 1], [1, 1.2])
938
+ });
939
+ return {
940
+ opacity: t([0, 1], [1, 0]),
941
+ transform: transforms
942
+ };
943
+ case 'focusInLeft':
944
+ transforms.push({
945
+ translateX: t([0, 1], [-20, 0]),
946
+ scale: t([0, 1], [1.1, 1])
947
+ });
948
+ return {
949
+ opacity: animatedValue,
950
+ transform: transforms
951
+ };
952
+ case 'focusInRight':
953
+ transforms.push({
954
+ translateX: t([0, 1], [20, 0]),
955
+ scale: t([0, 1], [1.1, 1])
956
+ });
957
+ return {
958
+ opacity: animatedValue,
959
+ transform: transforms
960
+ };
961
+ case 'focusInUp':
962
+ transforms.push({
963
+ translateY: t([0, 1], [20, 0]),
964
+ scale: t([0, 1], [1.1, 1])
965
+ });
966
+ return {
967
+ opacity: animatedValue,
968
+ transform: transforms
969
+ };
970
+ case 'focusInDown':
971
+ transforms.push({
972
+ translateY: t([0, 1], [-20, 0]),
973
+ scale: t([0, 1], [1.1, 1])
974
+ });
975
+ return {
976
+ opacity: animatedValue,
977
+ transform: transforms
978
+ };
979
+
980
+ // CORNERS
981
+ case 'cornerInTopLeft':
982
+ transforms.push({
983
+ translateX: t([0, 1], [-500, 0]),
984
+ translateY: t([0, 1], [-500, 0]),
985
+ rotate: t([0, 1], ['-45deg', '0deg'])
986
+ });
987
+ return {
988
+ opacity: animatedValue,
989
+ transform: transforms
990
+ };
991
+ case 'cornerInTopRight':
992
+ transforms.push({
993
+ translateX: t([0, 1], [500, 0]),
994
+ translateY: t([0, 1], [-500, 0]),
995
+ rotate: t([0, 1], ['45deg', '0deg'])
996
+ });
997
+ return {
998
+ opacity: animatedValue,
999
+ transform: transforms
1000
+ };
1001
+ case 'cornerInBottomLeft':
1002
+ transforms.push({
1003
+ translateX: t([0, 1], [-500, 0]),
1004
+ translateY: t([0, 1], [500, 0]),
1005
+ rotate: t([0, 1], ['45deg', '0deg'])
1006
+ });
1007
+ return {
1008
+ opacity: animatedValue,
1009
+ transform: transforms
1010
+ };
1011
+ case 'cornerInBottomRight':
1012
+ transforms.push({
1013
+ translateX: t([0, 1], [500, 0]),
1014
+ translateY: t([0, 1], [500, 0]),
1015
+ rotate: t([0, 1], ['-45deg', '0deg'])
1016
+ });
1017
+ return {
1018
+ opacity: animatedValue,
1019
+ transform: transforms
1020
+ };
1021
+ case 'cornerOutTopLeft':
1022
+ transforms.push({
1023
+ translateX: t([0, 1], [0, -500]),
1024
+ translateY: t([0, 1], [0, -500]),
1025
+ rotate: t([0, 1], ['0deg', '-45deg'])
1026
+ });
1027
+ return {
1028
+ opacity: t([0, 1], [1, 0]),
1029
+ transform: transforms
1030
+ };
1031
+ case 'cornerOutTopRight':
1032
+ transforms.push({
1033
+ translateX: t([0, 1], [0, 500]),
1034
+ translateY: t([0, 1], [0, -500]),
1035
+ rotate: t([0, 1], ['0deg', '45deg'])
1036
+ });
1037
+ return {
1038
+ opacity: t([0, 1], [1, 0]),
1039
+ transform: transforms
1040
+ };
1041
+ case 'cornerOutBottomLeft':
1042
+ transforms.push({
1043
+ translateX: t([0, 1], [0, -500]),
1044
+ translateY: t([0, 1], [0, 500]),
1045
+ rotate: t([0, 1], ['0deg', '45deg'])
1046
+ });
1047
+ return {
1048
+ opacity: t([0, 1], [1, 0]),
1049
+ transform: transforms
1050
+ };
1051
+ case 'cornerOutBottomRight':
1052
+ transforms.push({
1053
+ translateX: t([0, 1], [0, 500]),
1054
+ translateY: t([0, 1], [0, 500]),
1055
+ rotate: t([0, 1], ['0deg', '-45deg'])
1056
+ });
1057
+ return {
1058
+ opacity: t([0, 1], [1, 0]),
1059
+ transform: transforms
1060
+ };
1061
+
1062
+ // 3D DOOR & PERSPECTIVE
1063
+ case 'perspectiveFlipX':
1064
+ transforms.push({
1065
+ perspective: 1000,
1066
+ rotateX: t([0, 1], ['-90deg', '0deg'])
1067
+ });
1068
+ return {
1069
+ opacity: animatedValue,
1070
+ transform: transforms
1071
+ };
1072
+ case 'perspectiveFlipY':
1073
+ transforms.push({
1074
+ perspective: 1000,
1075
+ rotateY: t([0, 1], ['-90deg', '0deg'])
1076
+ });
1077
+ return {
1078
+ opacity: animatedValue,
1079
+ transform: transforms
1080
+ };
1081
+ case 'doorOpenLeft':
1082
+ transforms.push({
1083
+ perspective: 1000,
1084
+ rotateY: t([0, 1], ['0deg', '90deg']),
1085
+ translateX: t([0, 1], [0, -100])
1086
+ });
1087
+ return {
1088
+ opacity: t([0, 1], [1, 0]),
1089
+ transform: transforms
1090
+ };
1091
+ case 'doorOpenRight':
1092
+ transforms.push({
1093
+ perspective: 1000,
1094
+ rotateY: t([0, 1], ['0deg', '-90deg']),
1095
+ translateX: t([0, 1], [0, 100])
1096
+ });
1097
+ return {
1098
+ opacity: t([0, 1], [1, 0]),
1099
+ transform: transforms
1100
+ };
1101
+ case 'doorCloseLeft':
1102
+ transforms.push({
1103
+ perspective: 1000,
1104
+ rotateY: t([0, 1], ['90deg', '0deg']),
1105
+ translateX: t([0, 1], [-100, 0])
1106
+ });
1107
+ return {
1108
+ opacity: animatedValue,
1109
+ transform: transforms
1110
+ };
1111
+ case 'doorCloseRight':
1112
+ transforms.push({
1113
+ perspective: 1000,
1114
+ rotateY: t([0, 1], ['-90deg', '0deg']),
1115
+ translateX: t([0, 1], [100, 0])
1116
+ });
1117
+ return {
1118
+ opacity: animatedValue,
1119
+ transform: transforms
1120
+ };
1121
+
1122
+ // OTHERS
1123
+ case 'stretchX':
1124
+ transforms.push({
1125
+ scaleX: t([0, 0.5, 1], [1, 1.5, 1])
1126
+ });
1127
+ return {
1128
+ transform: transforms
1129
+ };
1130
+ case 'stretchY':
1131
+ transforms.push({
1132
+ scaleY: t([0, 0.5, 1], [1, 1.5, 1])
1133
+ });
1134
+ return {
1135
+ transform: transforms
1136
+ };
1137
+ case 'skewIn':
1138
+ transforms.push({
1139
+ skewX: t([0, 1], ['45deg', '0deg'])
1140
+ });
1141
+ return {
1142
+ opacity: animatedValue,
1143
+ transform: transforms
1144
+ };
1145
+ case 'skewOut':
1146
+ transforms.push({
1147
+ skewX: t([0, 1], ['0deg', '45deg'])
1148
+ });
1149
+ return {
1150
+ opacity: t([0, 1], [1, 0]),
1151
+ transform: transforms
1152
+ };
1153
+ case 'skewInUp':
1154
+ transforms.push({
1155
+ skewY: t([0, 1], ['-45deg', '0deg']),
1156
+ translateY: t([0, 1], [100, 0])
1157
+ });
1158
+ return {
1159
+ opacity: animatedValue,
1160
+ transform: transforms
1161
+ };
1162
+ case 'skewInDown':
1163
+ transforms.push({
1164
+ skewY: t([0, 1], ['45deg', '0deg']),
1165
+ translateY: t([0, 1], [-100, 0])
1166
+ });
1167
+ return {
1168
+ opacity: animatedValue,
1169
+ transform: transforms
1170
+ };
1171
+ case 'perspectiveRotate':
1172
+ transforms.push({
1173
+ perspective: 400,
1174
+ rotateX: t([0, 1], ['0deg', '180deg'])
1175
+ });
1176
+ return {
1177
+ transform: transforms
1178
+ };
1179
+ case 'wave':
1180
+ transforms.push({
1181
+ translateY: t([0, 0.25, 0.5, 0.75, 1], [0, -20, 0, 20, 0])
1182
+ });
1183
+ return {
1184
+ transform: transforms
1185
+ };
1186
+ case 'blink':
1187
+ return {
1188
+ opacity: t([0, 0.5, 1], [1, 0, 1])
1189
+ };
1190
+ case 'expandUp':
1191
+ transforms.push({
1192
+ scaleY: t([0, 1], [0, 1]),
1193
+ translateY: t([0, 1], [50, 0])
1194
+ });
1195
+ return {
1196
+ transform: transforms
1197
+ };
1198
+ case 'expandDown':
1199
+ transforms.push({
1200
+ scaleY: t([0, 1], [0, 1]),
1201
+ translateY: t([0, 1], [-50, 0])
1202
+ });
1203
+ return {
1204
+ transform: transforms
1205
+ };
1206
+ case 'expandLeft':
1207
+ transforms.push({
1208
+ scaleX: t([0, 1], [0, 1]),
1209
+ translateX: t([0, 1], [50, 0])
1210
+ });
1211
+ return {
1212
+ transform: transforms
1213
+ };
1214
+ case 'expandRight':
1215
+ transforms.push({
1216
+ scaleX: t([0, 1], [0, 1]),
1217
+ translateX: t([0, 1], [-50, 0])
1218
+ });
1219
+ return {
1220
+ transform: transforms
1221
+ };
1222
+ case 'squeezeX':
1223
+ transforms.push({
1224
+ scaleX: t([0, 0.5, 1], [1, 0.5, 1])
1225
+ });
1226
+ return {
1227
+ transform: transforms
1228
+ };
1229
+ case 'squeezeY':
1230
+ transforms.push({
1231
+ scaleY: t([0, 0.5, 1], [1, 0.5, 1])
1232
+ });
1233
+ return {
1234
+ transform: transforms
1235
+ };
1236
+ case 'wiggle':
1237
+ transforms.push({
1238
+ rotate: t([0, 0.25, 0.5, 0.75, 1], ['0deg', '5deg', '0deg', '-5deg', '0deg'])
1239
+ });
1240
+ return {
1241
+ transform: transforms
1242
+ };
1243
+ case 'shiver':
1244
+ transforms.push({
1245
+ scale: t([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], [1, 1.05, 0.95, 1.05, 0.95, 1, 1.05, 0.95, 1.05, 0.95, 1])
1246
+ });
1247
+ return {
1248
+ transform: transforms
1249
+ };
1250
+ case 'shutterIn':
1251
+ transforms.push({
1252
+ scaleY: t([0, 1], [0, 1])
1253
+ });
1254
+ return {
1255
+ opacity: animatedValue,
1256
+ transform: transforms
1257
+ };
1258
+ case 'shutterOut':
1259
+ transforms.push({
1260
+ scaleY: t([0, 1], [1, 0])
1261
+ });
1262
+ return {
1263
+ opacity: t([0, 1], [1, 0]),
1264
+ transform: transforms
1265
+ };
1266
+ case 'contractIn':
1267
+ transforms.push({
1268
+ scale: t([0, 1], [1.5, 1])
1269
+ });
1270
+ return {
1271
+ opacity: animatedValue,
1272
+ transform: transforms
1273
+ };
1274
+ case 'contractOut':
1275
+ transforms.push({
1276
+ scale: t([0, 1], [1, 1.5])
1277
+ });
1278
+ return {
1279
+ opacity: t([0, 1], [1, 0]),
1280
+ transform: transforms
1281
+ };
1282
+ case 'puffIn':
1283
+ transforms.push({
1284
+ scale: t([0, 1], [2, 1]),
1285
+ perspective: 1000
1286
+ });
1287
+ return {
1288
+ opacity: animatedValue,
1289
+ transform: transforms
1290
+ };
1291
+ case 'puffOut':
1292
+ transforms.push({
1293
+ scale: t([0, 1], [1, 2]),
1294
+ perspective: 1000
1295
+ });
1296
+ return {
1297
+ opacity: t([0, 1], [1, 0]),
1298
+ transform: transforms
1299
+ };
1300
+ case 'flingInLeft':
1301
+ transforms.push({
1302
+ translateX: t([0, 1], [-500, 0])
1303
+ });
1304
+ return {
1305
+ transform: transforms
1306
+ };
1307
+ case 'flingInRight':
1308
+ transforms.push({
1309
+ translateX: t([0, 1], [500, 0])
1310
+ });
1311
+ return {
1312
+ transform: transforms
1313
+ };
1314
+ case 'flingInUp':
1315
+ transforms.push({
1316
+ translateY: t([0, 1], [500, 0])
1317
+ });
1318
+ return {
1319
+ transform: transforms
1320
+ };
1321
+ case 'flingInDown':
1322
+ transforms.push({
1323
+ translateY: t([0, 1], [-500, 0])
1324
+ });
1325
+ return {
1326
+ transform: transforms
1327
+ };
1328
+ case 'float':
1329
+ transforms.push({
1330
+ translateY: t([0, 0.5, 1], [0, -10, 0])
1331
+ });
1332
+ return {
1333
+ transform: transforms
1334
+ };
1335
+ case 'beat':
1336
+ transforms.push({
1337
+ scale: t([0, 0.5, 1], [1, 1.1, 1])
1338
+ });
1339
+ return {
1340
+ transform: transforms
1341
+ };
1342
+ case 'bounceInTopLeft':
1343
+ transforms.push({
1344
+ translateX: t([0, 1], [-500, 0]),
1345
+ translateY: t([0, 1], [-500, 0])
1346
+ });
1347
+ return {
1348
+ opacity: animatedValue,
1349
+ transform: transforms
1350
+ };
1351
+ case 'bounceInTopRight':
1352
+ transforms.push({
1353
+ translateX: t([0, 1], [500, 0]),
1354
+ translateY: t([0, 1], [-500, 0])
1355
+ });
1356
+ return {
1357
+ opacity: animatedValue,
1358
+ transform: transforms
1359
+ };
1360
+ case 'bounceInBottomLeft':
1361
+ transforms.push({
1362
+ translateX: t([0, 1], [-500, 0]),
1363
+ translateY: t([0, 1], [500, 0])
1364
+ });
1365
+ return {
1366
+ opacity: animatedValue,
1367
+ transform: transforms
1368
+ };
1369
+ case 'bounceInBottomRight':
1370
+ transforms.push({
1371
+ translateX: t([0, 1], [500, 0]),
1372
+ translateY: t([0, 1], [500, 0])
1373
+ });
1374
+ return {
1375
+ opacity: animatedValue,
1376
+ transform: transforms
1377
+ };
1378
+ case 'zoomInRotateLeft':
1379
+ transforms.push({
1380
+ scale: t([0, 1], [0, 1]),
1381
+ rotate: t([0, 1], ['-45deg', '0deg'])
1382
+ });
1383
+ return {
1384
+ opacity: animatedValue,
1385
+ transform: transforms
1386
+ };
1387
+ case 'zoomInRotateRight':
1388
+ transforms.push({
1389
+ scale: t([0, 1], [0, 1]),
1390
+ rotate: t([0, 1], ['45deg', '0deg'])
1391
+ });
1392
+ return {
1393
+ opacity: animatedValue,
1394
+ transform: transforms
1395
+ };
1396
+ case 'swingRotate':
1397
+ transforms.push({
1398
+ rotate: t([0, 0.2, 0.4, 0.6, 0.8, 1], ['0deg', '45deg', '-45deg', '30deg', '-30deg', '0deg'])
1399
+ });
1400
+ return {
1401
+ transform: transforms
1402
+ };
1403
+ case 'perspectiveSlideInLeft':
1404
+ transforms.push({
1405
+ perspective: 1000,
1406
+ rotateY: t([0, 1], ['-45deg', '0deg']),
1407
+ translateX: t([0, 1], [-200, 0])
1408
+ });
1409
+ return {
1410
+ opacity: animatedValue,
1411
+ transform: transforms
1412
+ };
1413
+ case 'perspectiveSlideInRight':
1414
+ transforms.push({
1415
+ perspective: 1000,
1416
+ rotateY: t([0, 1], ['45deg', '0deg']),
1417
+ translateX: t([0, 1], [200, 0])
1418
+ });
1419
+ return {
1420
+ opacity: animatedValue,
1421
+ transform: transforms
1422
+ };
1423
+ case 'tiltLeft':
1424
+ transforms.push({
1425
+ perspective: 1000,
1426
+ rotateY: t([0, 0.5, 1], ['0deg', '-15deg', '0deg'])
1427
+ });
1428
+ return {
1429
+ transform: transforms
1430
+ };
1431
+ case 'tiltRight':
1432
+ transforms.push({
1433
+ perspective: 1000,
1434
+ rotateY: t([0, 0.5, 1], ['0deg', '15deg', '0deg'])
1435
+ });
1436
+ return {
1437
+ transform: transforms
1438
+ };
1439
+ case 'squash':
1440
+ transforms.push({
1441
+ scaleX: t([0, 0.5, 1], [1, 1.3, 1]),
1442
+ scaleY: t([0, 0.5, 1], [1, 0.7, 1])
1443
+ });
1444
+ return {
1445
+ transform: transforms
1446
+ };
1447
+ case 'vibrate':
1448
+ transforms.push({
1449
+ translateX: t([0, 0.2, 0.4, 0.6, 0.8, 1], [0, -2, 2, -2, 2, 0]),
1450
+ translateY: t([0, 0.2, 0.4, 0.6, 0.8, 1], [0, 2, -2, 2, -2, 0])
1451
+ });
1452
+ return {
1453
+ transform: transforms
1454
+ };
1455
+ case 'sway':
1456
+ transforms.push({
1457
+ rotate: t([0, 0.5, 1], ['-5deg', '5deg', '-5deg']),
1458
+ translateX: t([0, 0.5, 1], [-10, 10, -10])
1459
+ });
1460
+ return {
1461
+ transform: transforms
1462
+ };
1463
+ case 'floatLeft':
1464
+ transforms.push({
1465
+ translateX: t([0, 0.5, 1], [0, -20, 0]),
1466
+ translateY: t([0, 0.5, 1], [0, -10, 0])
1467
+ });
1468
+ return {
1469
+ transform: transforms
1470
+ };
1471
+ case 'floatRight':
1472
+ transforms.push({
1473
+ translateX: t([0, 0.5, 1], [0, 20, 0]),
1474
+ translateY: t([0, 0.5, 1], [0, -10, 0])
1475
+ });
1476
+ return {
1477
+ transform: transforms
1478
+ };
1479
+
1480
+ // NEW VARIETY
1481
+ case 'newspaper':
1482
+ transforms.push({
1483
+ scale: t([0, 1], [0, 1]),
1484
+ rotate: t([0, 1], ['0deg', '720deg'])
1485
+ });
1486
+ return {
1487
+ opacity: animatedValue,
1488
+ transform: transforms
1489
+ };
1490
+ case 'popIn':
1491
+ transforms.push({
1492
+ scale: t([0, 0.7, 1], [0, 1.1, 1])
1493
+ });
1494
+ return {
1495
+ opacity: animatedValue,
1496
+ transform: transforms
1497
+ };
1498
+ case 'popOut':
1499
+ transforms.push({
1500
+ scale: t([0, 1], [1, 0])
1501
+ });
1502
+ return {
1503
+ opacity: t([0, 1], [1, 0]),
1504
+ transform: transforms
1505
+ };
1506
+ case 'popInUp':
1507
+ transforms.push({
1508
+ scale: t([0, 0.7, 1], [0, 1.1, 1]),
1509
+ translateY: t([0, 1], [100, 0])
1510
+ });
1511
+ return {
1512
+ opacity: animatedValue,
1513
+ transform: transforms
1514
+ };
1515
+ case 'popInDown':
1516
+ transforms.push({
1517
+ scale: t([0, 0.7, 1], [0, 1.1, 1]),
1518
+ translateY: t([0, 1], [-100, 0])
1519
+ });
1520
+ return {
1521
+ opacity: animatedValue,
1522
+ transform: transforms
1523
+ };
1524
+ case 'popInLeft':
1525
+ transforms.push({
1526
+ scale: t([0, 0.7, 1], [0, 1.1, 1]),
1527
+ translateX: t([0, 1], [-100, 0])
1528
+ });
1529
+ return {
1530
+ opacity: animatedValue,
1531
+ transform: transforms
1532
+ };
1533
+ case 'popInRight':
1534
+ transforms.push({
1535
+ scale: t([0, 0.7, 1], [0, 1.1, 1]),
1536
+ translateX: t([0, 1], [100, 0])
1537
+ });
1538
+ return {
1539
+ opacity: animatedValue,
1540
+ transform: transforms
1541
+ };
1542
+
1543
+ // SKATE
1544
+ case 'skateInLeft':
1545
+ transforms.push({
1546
+ translateX: t([0, 1], [-500, 0]),
1547
+ rotate: t([0, 1], ['-15deg', '0deg'])
1548
+ });
1549
+ return {
1550
+ opacity: animatedValue,
1551
+ transform: transforms
1552
+ };
1553
+ case 'skateInRight':
1554
+ transforms.push({
1555
+ translateX: t([0, 1], [500, 0]),
1556
+ rotate: t([0, 1], ['15deg', '0deg'])
1557
+ });
1558
+ return {
1559
+ opacity: animatedValue,
1560
+ transform: transforms
1561
+ };
1562
+ case 'skateOutLeft':
1563
+ transforms.push({
1564
+ translateX: t([0, 1], [0, -500]),
1565
+ rotate: t([0, 1], ['0deg', '-15deg'])
1566
+ });
1567
+ return {
1568
+ opacity: t([0, 1], [1, 0]),
1569
+ transform: transforms
1570
+ };
1571
+ case 'skateOutRight':
1572
+ transforms.push({
1573
+ translateX: t([0, 1], [0, 500]),
1574
+ rotate: t([0, 1], ['0deg', '15deg'])
1575
+ });
1576
+ return {
1577
+ opacity: t([0, 1], [1, 0]),
1578
+ transform: transforms
1579
+ };
1580
+
1581
+ // DRIPS & DROPS
1582
+ case 'drip':
1583
+ transforms.push({
1584
+ translateY: t([0, 0.5, 1], [0, 20, 40]),
1585
+ scaleY: t([0, 0.5, 1], [1, 1.5, 1])
1586
+ });
1587
+ return {
1588
+ opacity: t([0, 1], [1, 0]),
1589
+ transform: transforms
1590
+ };
1591
+ case 'dropIn':
1592
+ transforms.push({
1593
+ translateY: t([0, 0.8, 1], [-500, 0, 0]),
1594
+ scaleY: t([0, 0.8, 1], [1.5, 0.8, 1])
1595
+ });
1596
+ return {
1597
+ transform: transforms
1598
+ };
1599
+ case 'dropOut':
1600
+ transforms.push({
1601
+ translateY: t([0, 1], [0, 500]),
1602
+ scaleY: t([0, 1], [1, 1.5])
1603
+ });
1604
+ return {
1605
+ opacity: t([0, 1], [1, 0]),
1606
+ transform: transforms
1607
+ };
1608
+ case 'hangIn':
1609
+ transforms.push({
1610
+ rotate: t([0, 0.5, 1], ['100deg', '-20deg', '0deg']),
1611
+ translateY: t([0, 1], [-200, 0])
1612
+ });
1613
+ return {
1614
+ opacity: animatedValue,
1615
+ transform: transforms
1616
+ };
1617
+ case 'hangOut':
1618
+ transforms.push({
1619
+ rotate: t([0, 1], ['0deg', '100deg']),
1620
+ translateY: t([0, 1], [0, 200])
1621
+ });
1622
+ return {
1623
+ opacity: t([0, 1], [1, 0]),
1624
+ transform: transforms
1625
+ };
1626
+
1627
+ // REVEALS
1628
+ case 'revealUp':
1629
+ transforms.push({
1630
+ translateY: t([0, 1], [100, 0])
1631
+ });
1632
+ return {
1633
+ opacity: animatedValue,
1634
+ transform: transforms
1635
+ };
1636
+ case 'revealDown':
1637
+ transforms.push({
1638
+ translateY: t([0, 1], [-100, 0])
1639
+ });
1640
+ return {
1641
+ opacity: animatedValue,
1642
+ transform: transforms
1643
+ };
1644
+ case 'revealLeft':
1645
+ transforms.push({
1646
+ translateX: t([0, 1], [100, 0])
1647
+ });
1648
+ return {
1649
+ opacity: animatedValue,
1650
+ transform: transforms
1651
+ };
1652
+ case 'revealRight':
1653
+ transforms.push({
1654
+ translateX: t([0, 1], [-100, 0])
1655
+ });
1656
+ return {
1657
+ opacity: animatedValue,
1658
+ transform: transforms
1659
+ };
1660
+
1661
+ // INFINITE VARIANTS
1662
+ case 'bounceInfinite':
1663
+ transforms.push({
1664
+ translateY: t([0, 0.5, 1], [0, -20, 0])
1665
+ });
1666
+ return {
1667
+ transform: transforms
1668
+ };
1669
+ case 'rotateInfinite':
1670
+ transforms.push({
1671
+ rotate: t([0, 1], ['0deg', '360deg'])
1672
+ });
1673
+ return {
1674
+ transform: transforms
1675
+ };
1676
+ case 'slideInfinite':
1677
+ transforms.push({
1678
+ translateX: t([0, 0.5, 1], [-20, 20, -20])
1679
+ });
1680
+ return {
1681
+ transform: transforms
1682
+ };
1683
+ case 'flipInfiniteX':
1684
+ transforms.push({
1685
+ perspective: 400,
1686
+ rotateX: t([0, 1], ['0deg', '360deg'])
1687
+ });
1688
+ return {
1689
+ transform: transforms
1690
+ };
1691
+ case 'flipInfiniteY':
1692
+ transforms.push({
1693
+ perspective: 400,
1694
+ rotateY: t([0, 1], ['0deg', '360deg'])
1695
+ });
1696
+ return {
1697
+ transform: transforms
1698
+ };
1699
+
1700
+ // CONTINUOUS
1701
+ case 'shimmer':
1702
+ return {
1703
+ opacity: t([0, 0.5, 1], [1, 0.3, 1])
1704
+ };
1705
+ case 'dance':
1706
+ transforms.push({
1707
+ rotate: t([0, 0.25, 0.5, 0.75, 1], ['0deg', '15deg', '0deg', '-15deg', '0deg']),
1708
+ translateY: t([0, 0.5, 1], [0, -10, 0])
1709
+ });
1710
+ return {
1711
+ transform: transforms
1712
+ };
1713
+ case 'ghost':
1714
+ transforms.push({
1715
+ translateY: t([0, 0.5, 1], [0, -15, 0]),
1716
+ scale: t([0, 0.5, 1], [1, 1.1, 1])
1717
+ });
1718
+ return {
1719
+ opacity: t([0, 0.5, 1], [0.8, 0.4, 0.8]),
1720
+ transform: transforms
1721
+ };
1722
+ case 'smoke':
1723
+ transforms.push({
1724
+ translateY: t([0, 1], [0, -50]),
1725
+ scale: t([0, 1], [1, 1.5]),
1726
+ rotate: t([0, 1], ['0deg', '20deg'])
1727
+ });
1728
+ return {
1729
+ opacity: t([0, 1], [0.8, 0]),
1730
+ transform: transforms
1731
+ };
1732
+
1733
+ // TILTS
1734
+ case 'tiltInTop':
1735
+ transforms.push({
1736
+ perspective: 1000,
1737
+ rotateX: t([0, 1], ['-30deg', '0deg']),
1738
+ translateY: t([0, 1], [-100, 0])
1739
+ });
1740
+ return {
1741
+ opacity: animatedValue,
1742
+ transform: transforms
1743
+ };
1744
+ case 'tiltInBottom':
1745
+ transforms.push({
1746
+ perspective: 1000,
1747
+ rotateX: t([0, 1], ['30deg', '0deg']),
1748
+ translateY: t([0, 1], [100, 0])
1749
+ });
1750
+ return {
1751
+ opacity: animatedValue,
1752
+ transform: transforms
1753
+ };
1754
+ case 'scaleIn':
1755
+ transforms.push({
1756
+ scale: t([0, 1], [0.5, 1])
1757
+ });
1758
+ return {
1759
+ opacity: animatedValue,
1760
+ transform: transforms
1761
+ };
1762
+ case 'scaleOut':
1763
+ transforms.push({
1764
+ scale: t([0, 1], [1, 0.5])
1765
+ });
1766
+ return {
1767
+ opacity: t([0, 1], [1, 0]),
1768
+ transform: transforms
1769
+ };
1770
+
1771
+ // SPACE
1772
+ case 'orbit':
1773
+ transforms.push({
1774
+ translateX: t([0, 0.25, 0.5, 0.75, 1], [0, 50, 0, -50, 0]),
1775
+ translateY: t([0, 0.25, 0.5, 0.75, 1], [-20, 0, 20, 0, -20]),
1776
+ scale: t([0, 0.5, 1], [1, 0.7, 1])
1777
+ });
1778
+ return {
1779
+ transform: transforms
1780
+ };
1781
+ case 'ufo':
1782
+ transforms.push({
1783
+ translateX: t([0, 0.1, 0.2, 0.5, 0.8, 1], [0, 50, -50, 100, -100, 0]),
1784
+ translateY: t([0, 0.5, 1], [0, -10, 0])
1785
+ });
1786
+ return {
1787
+ transform: transforms
1788
+ };
1789
+
1790
+ // EXTRA
1791
+ case 'foldIn':
1792
+ transforms.push({
1793
+ perspective: 1000,
1794
+ rotateX: t([0, 1], ['-90deg', '0deg'])
1795
+ });
1796
+ return {
1797
+ opacity: animatedValue,
1798
+ transform: transforms
1799
+ };
1800
+ case 'foldOut':
1801
+ transforms.push({
1802
+ perspective: 1000,
1803
+ rotateX: t([0, 1], ['0deg', '90deg'])
1804
+ });
1805
+ return {
1806
+ opacity: t([0, 1], [1, 0]),
1807
+ transform: transforms
1808
+ };
1809
+ case 'unfoldIn':
1810
+ transforms.push({
1811
+ perspective: 1000,
1812
+ rotateY: t([0, 1], ['-90deg', '0deg'])
1813
+ });
1814
+ return {
1815
+ opacity: animatedValue,
1816
+ transform: transforms
1817
+ };
1818
+ case 'unfoldOut':
1819
+ transforms.push({
1820
+ perspective: 1000,
1821
+ rotateY: t([0, 1], ['0deg', '90deg'])
1822
+ });
1823
+ return {
1824
+ opacity: t([0, 1], [1, 0]),
1825
+ transform: transforms
1826
+ };
1827
+ case 'rollInLeft':
1828
+ transforms.push({
1829
+ translateX: t([0, 1], [-500, 0]),
1830
+ rotate: t([0, 1], ['-360deg', '0deg'])
1831
+ });
1832
+ return {
1833
+ opacity: animatedValue,
1834
+ transform: transforms
1835
+ };
1836
+ case 'rollInRight':
1837
+ transforms.push({
1838
+ translateX: t([0, 1], [500, 0]),
1839
+ rotate: t([0, 1], ['360deg', '0deg'])
1840
+ });
1841
+ return {
1842
+ opacity: animatedValue,
1843
+ transform: transforms
1844
+ };
1845
+ case 'jitter':
1846
+ transforms.push({
1847
+ translateX: t([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], [0, 5, -5, 3, -3, 5, -2, 4, -4, 2, 0]),
1848
+ translateY: t([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], [0, -3, 3, -2, 2, -4, 1, -3, 3, -1, 0])
1849
+ });
1850
+ return {
1851
+ transform: transforms
1852
+ };
1853
+ case 'glitch':
1854
+ transforms.push({
1855
+ translateX: t([0, 0.1, 0.2, 0.5, 0.8, 1], [0, 10, -10, 5, -5, 0]),
1856
+ skewX: t([0, 0.2, 0.4, 0.6, 1], ['0deg', '10deg', '-10deg', '5deg', '0deg'])
1857
+ });
1858
+ return {
1859
+ opacity: t([0, 0.1, 0.2, 0.3, 1], [1, 0.5, 1, 0.7, 1]),
1860
+ transform: transforms
1861
+ };
1862
+ case 'popOutUp':
1863
+ transforms.push({
1864
+ scale: t([0, 0.3, 1], [1, 1.1, 0]),
1865
+ translateY: t([0, 1], [0, -100])
1866
+ });
1867
+ return {
1868
+ opacity: t([0, 1], [1, 0]),
1869
+ transform: transforms
1870
+ };
1871
+ case 'popOutDown':
1872
+ transforms.push({
1873
+ scale: t([0, 0.3, 1], [1, 1.1, 0]),
1874
+ translateY: t([0, 1], [0, 100])
1875
+ });
1876
+ return {
1877
+ opacity: t([0, 1], [1, 0]),
1878
+ transform: transforms
1879
+ };
1880
+ case 'vibrateFast':
1881
+ case 'vibrateSlow':
1882
+ transforms.push({
1883
+ translateX: t([0, 0.2, 0.4, 0.6, 0.8, 1], [0, -2, 2, -2, 2, 0])
1884
+ });
1885
+ return {
1886
+ transform: transforms
1887
+ };
1888
+ case 'tiltOutTop':
1889
+ transforms.push({
1890
+ perspective: 1000,
1891
+ rotateX: t([0, 1], ['0deg', '-30deg']),
1892
+ translateY: t([0, 1], [0, -100])
1893
+ });
1894
+ return {
1895
+ opacity: t([0, 1], [1, 0]),
1896
+ transform: transforms
1897
+ };
1898
+ case 'spinIn':
1899
+ transforms.push({
1900
+ rotate: t([0, 1], ['-360deg', '0deg']),
1901
+ scale: t([0, 1], [0, 1])
1902
+ });
1903
+ return {
1904
+ opacity: animatedValue,
1905
+ transform: transforms
1906
+ };
1907
+ case 'spinOut':
1908
+ transforms.push({
1909
+ rotate: t([0, 1], ['0deg', '360deg']),
1910
+ scale: t([0, 1], [1, 0])
1911
+ });
1912
+ return {
1913
+ opacity: t([0, 1], [1, 0]),
1914
+ transform: transforms
1915
+ };
1916
+ case 'bounceTop':
1917
+ transforms.push({
1918
+ translateY: t([0, 0.5, 1], [0, -30, 0])
1919
+ });
1920
+ return {
1921
+ transform: transforms
1922
+ };
1923
+ case 'bounceBottom':
1924
+ transforms.push({
1925
+ translateY: t([0, 0.5, 1], [0, 30, 0])
1926
+ });
1927
+ return {
1928
+ transform: transforms
1929
+ };
1930
+ case 'bounceLeft':
1931
+ transforms.push({
1932
+ translateX: t([0, 0.5, 1], [0, -30, 0])
1933
+ });
1934
+ return {
1935
+ transform: transforms
1936
+ };
1937
+ case 'bounceRight':
1938
+ transforms.push({
1939
+ translateX: t([0, 0.5, 1], [0, 30, 0])
1940
+ });
1941
+ return {
1942
+ transform: transforms
1943
+ };
1944
+ case 'fallIn':
1945
+ transforms.push({
1946
+ translateY: t([0, 1], [-500, 0]),
1947
+ rotate: t([0, 1], ['15deg', '0deg'])
1948
+ });
1949
+ return {
1950
+ transform: transforms
1951
+ };
1952
+ case 'fallOut':
1953
+ transforms.push({
1954
+ translateY: t([0, 1], [0, 500]),
1955
+ rotate: t([0, 1], ['0deg', '15deg'])
1956
+ });
1957
+ return {
1958
+ opacity: t([0, 1], [1, 0]),
1959
+ transform: transforms
1960
+ };
1961
+ case 'raiseIn':
1962
+ transforms.push({
1963
+ translateY: t([0, 1], [500, 0]),
1964
+ rotate: t([0, 1], ['-15deg', '0deg'])
1965
+ });
1966
+ return {
1967
+ transform: transforms
1968
+ };
1969
+ case 'raiseOut':
1970
+ transforms.push({
1971
+ translateY: t([0, 1], [0, -500]),
1972
+ rotate: t([0, 1], ['0deg', '-15deg'])
1973
+ });
1974
+ return {
1975
+ opacity: t([0, 1], [1, 0]),
1976
+ transform: transforms
1977
+ };
1978
+ default:
1979
+ return {
1980
+ opacity: 1
1981
+ };
1982
+ }
1983
+ };
1984
+ //# sourceMappingURL=animations.js.map