@hanzogui/animations-react-native 8.3.0 → 8.3.2

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.
Files changed (42) hide show
  1. package/dist/cjs/createAnimations.js +634 -0
  2. package/dist/cjs/createAnimations.js.map +1 -0
  3. package/dist/cjs/index.js +6 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/package.json +1 -0
  6. package/dist/cjs/polyfill.js +7 -0
  7. package/dist/cjs/polyfill.js.map +1 -0
  8. package/dist/esm/createAnimations.js +625 -0
  9. package/dist/esm/createAnimations.js.map +1 -0
  10. package/dist/esm/index.js +3 -3
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/polyfill.js +7 -0
  13. package/dist/esm/polyfill.js.map +1 -0
  14. package/package.json +18 -18
  15. package/src/index.ts +2 -2
  16. package/types/createAnimations.d.ts +9 -8
  17. package/types/createAnimations.d.ts.map +1 -11
  18. package/types/index.d.ts +2 -3
  19. package/types/index.d.ts.map +1 -11
  20. package/types/polyfill.d.ts +0 -1
  21. package/types/polyfill.d.ts.map +1 -11
  22. package/dist/cjs/createAnimations.cjs +0 -566
  23. package/dist/cjs/createAnimations.native.js +0 -648
  24. package/dist/cjs/createAnimations.native.js.map +0 -1
  25. package/dist/cjs/index.cjs +0 -21
  26. package/dist/cjs/index.native.js +0 -24
  27. package/dist/cjs/index.native.js.map +0 -1
  28. package/dist/cjs/polyfill.cjs +0 -3
  29. package/dist/cjs/polyfill.native.js +0 -6
  30. package/dist/cjs/polyfill.native.js.map +0 -1
  31. package/dist/esm/createAnimations.mjs +0 -524
  32. package/dist/esm/createAnimations.mjs.map +0 -1
  33. package/dist/esm/createAnimations.native.js +0 -603
  34. package/dist/esm/createAnimations.native.js.map +0 -1
  35. package/dist/esm/index.mjs +0 -3
  36. package/dist/esm/index.mjs.map +0 -1
  37. package/dist/esm/index.native.js +0 -3
  38. package/dist/esm/index.native.js.map +0 -1
  39. package/dist/esm/polyfill.mjs +0 -4
  40. package/dist/esm/polyfill.mjs.map +0 -1
  41. package/dist/esm/polyfill.native.js +0 -4
  42. package/dist/esm/polyfill.native.js.map +0 -1
@@ -1,524 +0,0 @@
1
- import { getEffectiveAnimation, normalizeTransition } from "@hanzogui/animation-helpers";
2
- import { isWeb, useIsomorphicLayoutEffect } from "@hanzogui/constants";
3
- import { ResetPresence, usePresence } from "@hanzogui/use-presence";
4
- import { useEvent, useThemeWithState } from "@hanzogui/web";
5
- import React from "react";
6
- import { Animated } from "react-native-web";
7
- const isFabric = !isWeb && typeof global !== "undefined" && !!global.__nativeFabricUIManager;
8
- const resolveDynamicValue = (value, isDark) => {
9
- if (value && typeof value === "object" && "dynamic" in value) {
10
- const dynamicValue = isDark ? value.dynamic.dark : value.dynamic.light;
11
- return dynamicValue;
12
- }
13
- return value;
14
- };
15
- const animatedStyleKey = {
16
- transform: true,
17
- opacity: true
18
- };
19
- const colorStyleKey = {
20
- backgroundColor: true,
21
- color: true,
22
- borderColor: true,
23
- borderLeftColor: true,
24
- borderRightColor: true,
25
- borderTopColor: true,
26
- borderBottomColor: true
27
- };
28
- const layoutStyleKey = {
29
- height: true,
30
- width: true,
31
- minHeight: true,
32
- maxHeight: true,
33
- minWidth: true,
34
- maxWidth: true
35
- };
36
- function hasAnimatedLayoutKey(style, isDark, animateOnly) {
37
- for (const key in layoutStyleKey) {
38
- if (animateOnly && !animateOnly.includes(key)) continue;
39
- if (typeof resolveDynamicValue(style[key], isDark) === "number") return true;
40
- }
41
- return false;
42
- }
43
- function isAnimatableColor(value) {
44
- if (typeof value !== "string") return false;
45
- if (value === "") return false;
46
- if (value.includes("var(") || value.includes("calc(")) return false;
47
- return true;
48
- }
49
- const costlyToAnimateStyleKey = {
50
- borderRadius: true,
51
- borderTopLeftRadius: true,
52
- borderTopRightRadius: true,
53
- borderBottomLeftRadius: true,
54
- borderBottomRightRadius: true,
55
- borderWidth: true,
56
- borderLeftWidth: true,
57
- borderRightWidth: true,
58
- borderTopWidth: true,
59
- borderBottomWidth: true,
60
- ...colorStyleKey
61
- };
62
- const AnimatedView = Animated.View;
63
- const AnimatedText = Animated.Text;
64
- function useAnimatedNumber(initial) {
65
- const state = React.useRef(null);
66
- if (!state.current) {
67
- state.current = {
68
- composite: null,
69
- val: new Animated.Value(initial),
70
- strategy: {
71
- type: "spring"
72
- }
73
- };
74
- }
75
- return {
76
- getInstance() {
77
- return state.current.val;
78
- },
79
- getValue() {
80
- return state.current.val["_value"];
81
- },
82
- stop() {
83
- state.current.composite?.stop();
84
- state.current.composite = null;
85
- },
86
- setValue(next, {
87
- type,
88
- ...config
89
- } = {
90
- type: "spring"
91
- }, onFinish) {
92
- const val = state.current.val;
93
- const handleFinish = onFinish ? ({
94
- finished
95
- }) => finished ? onFinish() : null : void 0;
96
- if (type === "direct") {
97
- val.setValue(next);
98
- } else if (type === "spring") {
99
- state.current.composite?.stop();
100
- const composite = Animated.spring(val, {
101
- ...config,
102
- toValue: next,
103
- useNativeDriver: isFabric
104
- });
105
- composite.start(handleFinish);
106
- state.current.composite = composite;
107
- } else {
108
- state.current.composite?.stop();
109
- const composite = Animated.timing(val, {
110
- ...config,
111
- toValue: next,
112
- useNativeDriver: isFabric
113
- });
114
- composite.start(handleFinish);
115
- state.current.composite = composite;
116
- }
117
- }
118
- };
119
- }
120
- const useAnimatedNumberReaction = ({
121
- value
122
- }, onValue) => {
123
- const onChange = useEvent(current => {
124
- onValue(current.value);
125
- });
126
- React.useEffect(() => {
127
- const id = value.getInstance().addListener(onChange);
128
- return () => {
129
- value.getInstance().removeListener(id);
130
- };
131
- }, [value, onChange]);
132
- };
133
- const useAnimatedNumberStyle = (value, getStyle) => {
134
- return getStyle(value.getInstance());
135
- };
136
- const useAnimatedNumbersStyle = (vals, getStyle) => {
137
- return getStyle(...vals.map(v => v.getInstance()));
138
- };
139
- function createAnimations(animations, options) {
140
- const nativeDriver = options?.useNativeDriver ?? isFabric;
141
- return {
142
- isReactNative: true,
143
- inputStyle: "value",
144
- outputStyle: "inline",
145
- avoidReRenders: true,
146
- animations,
147
- needsCustomComponent: true,
148
- View: AnimatedView,
149
- Text: AnimatedText,
150
- useAnimatedNumber,
151
- useAnimatedNumberReaction,
152
- useAnimatedNumberStyle,
153
- useAnimatedNumbersStyle,
154
- usePresence,
155
- ResetPresence,
156
- useAnimations: ({
157
- props,
158
- onDidAnimate,
159
- style,
160
- componentState,
161
- presence,
162
- stateRef,
163
- useStyleEmitter
164
- }) => {
165
- const isDisabled = isWeb && componentState.unmounted === true;
166
- const isExiting = presence?.[0] === false;
167
- const sendExitComplete = presence?.[1];
168
- const [, themeState] = useThemeWithState({});
169
- const isDark = themeState?.scheme === "dark" || themeState?.name?.startsWith("dark");
170
- const animateStyles = React.useRef({});
171
- const animatedTranforms = React.useRef([]);
172
- const animationsState = React.useRef(/* @__PURE__ */new WeakMap());
173
- const pseudoActiveRef = React.useRef(false);
174
- const exitCycleIdRef = React.useRef(0);
175
- const exitCompletedRef = React.useRef(false);
176
- const wasExitingRef = React.useRef(false);
177
- const justStartedExiting = isExiting && !wasExitingRef.current;
178
- const justStoppedExiting = !isExiting && wasExitingRef.current;
179
- if (justStartedExiting) {
180
- exitCycleIdRef.current++;
181
- exitCompletedRef.current = false;
182
- }
183
- if (justStoppedExiting) {
184
- exitCycleIdRef.current++;
185
- }
186
- const animateOnly = props.animateOnly || [];
187
- const hasTransitionOnly = !!props.animateOnly;
188
- const isEntering = !!componentState.unmounted;
189
- const wasEnteringRef = React.useRef(isEntering);
190
- const justFinishedEntering = wasEnteringRef.current && !isEntering;
191
- React.useEffect(() => {
192
- wasEnteringRef.current = isEntering;
193
- });
194
- const args = [JSON.stringify(style), componentState, isExiting, !!onDidAnimate, isDark, justFinishedEntering, hasTransitionOnly];
195
- const res = React.useMemo(() => {
196
- const runners = [];
197
- const completions = [];
198
- const animationState = isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default";
199
- const nonAnimatedStyle = {};
200
- const useNativeDriverForNode = nativeDriver && !hasAnimatedLayoutKey(style, isDark, hasTransitionOnly ? animateOnly : void 0);
201
- const seenAnimateKeys = /* @__PURE__ */new Set();
202
- let sawTransform = false;
203
- let transformCount = 0;
204
- for (const key in style) {
205
- const rawVal = style[key];
206
- const val = resolveDynamicValue(rawVal, isDark);
207
- if (val === void 0) continue;
208
- if (isDisabled) {
209
- continue;
210
- }
211
- if (animatedStyleKey[key] == null && !costlyToAnimateStyleKey[key] && !layoutStyleKey[key]) {
212
- nonAnimatedStyle[key] = val;
213
- continue;
214
- }
215
- if (hasTransitionOnly && !animateOnly.includes(key)) {
216
- nonAnimatedStyle[key] = val;
217
- continue;
218
- }
219
- if (layoutStyleKey[key] && typeof val !== "number") {
220
- nonAnimatedStyle[key] = val;
221
- continue;
222
- }
223
- if (colorStyleKey[key] && !isAnimatableColor(val)) {
224
- nonAnimatedStyle[key] = val;
225
- continue;
226
- }
227
- if (key !== "transform") {
228
- animateStyles.current[key] = update(key, animateStyles.current[key], val);
229
- seenAnimateKeys.add(key);
230
- continue;
231
- }
232
- if (!val) continue;
233
- if (typeof val === "string") {
234
- console.warn(`Warning: Gui can't animate string transforms yet!`);
235
- continue;
236
- }
237
- sawTransform = true;
238
- for (const transform of val) {
239
- if (!transform) continue;
240
- const index = transformCount++;
241
- const tkey = Object.keys(transform)[0];
242
- const currentTransform = animatedTranforms.current[index]?.[tkey];
243
- animatedTranforms.current[index] = {
244
- [tkey]: update(tkey, currentTransform, transform[tkey])
245
- };
246
- animatedTranforms.current = [...animatedTranforms.current];
247
- }
248
- }
249
- if (!isExiting && !isDisabled && !pseudoActiveRef.current) {
250
- for (const k in animateStyles.current) {
251
- if (!seenAnimateKeys.has(k)) delete animateStyles.current[k];
252
- }
253
- if (!sawTransform) {
254
- if (animatedTranforms.current.length) animatedTranforms.current = [];
255
- } else if (animatedTranforms.current.length > transformCount) {
256
- animatedTranforms.current = animatedTranforms.current.slice(0, transformCount);
257
- }
258
- }
259
- const animatedTransformStyle = animatedTranforms.current.length > 0 ? {
260
- transform: animatedTranforms.current.map(r => {
261
- const key = Object.keys(r)[0];
262
- const val = animationsState.current.get(r[key])?.interpolation || r[key];
263
- return {
264
- [key]: val
265
- };
266
- })
267
- } : {};
268
- const animatedStyle = {
269
- ...Object.fromEntries(Object.entries(animateStyles.current).map(([k, v]) => [k, animationsState.current.get(v)?.interpolation || v])),
270
- ...animatedTransformStyle
271
- };
272
- return {
273
- runners,
274
- completions,
275
- style: [nonAnimatedStyle, animatedStyle]
276
- };
277
- function update(key, animated, valIn) {
278
- const isColorStyleKey = colorStyleKey[key];
279
- const [val, type] = isColorStyleKey ? [0, void 0] : getValue(valIn);
280
- let animateToValue = val;
281
- const value = animated || new Animated.Value(val);
282
- const curInterpolation = animationsState.current.get(value);
283
- let interpolateArgs;
284
- if (type) {
285
- interpolateArgs = getInterpolated(curInterpolation?.current ?? value["_value"], val, type);
286
- animationsState.current.set(value, {
287
- interpolation: value.interpolate(interpolateArgs),
288
- current: val
289
- });
290
- }
291
- if (isColorStyleKey) {
292
- animateToValue = curInterpolation?.animateToValue ? 0 : 1;
293
- interpolateArgs = getColorInterpolated(curInterpolation?.current,
294
- // valIn is the next color
295
- valIn, animateToValue);
296
- animationsState.current.set(value, {
297
- current: valIn,
298
- interpolation: value.interpolate(interpolateArgs),
299
- animateToValue: curInterpolation?.animateToValue ? 0 : 1
300
- });
301
- }
302
- if (value) {
303
- const animationConfig = getAnimationConfig(key, animations, props.transition, animationState);
304
- let resolve;
305
- const promise = new Promise(res2 => {
306
- resolve = res2;
307
- });
308
- completions.push(promise);
309
- runners.push(() => {
310
- value.stopAnimation();
311
- function getAnimation() {
312
- return Animated[animationConfig.type || "spring"](value, {
313
- toValue: animateToValue,
314
- ...animationConfig,
315
- useNativeDriver: useNativeDriverForNode
316
- });
317
- }
318
- const animation = animationConfig.delay ? Animated.sequence([Animated.delay(animationConfig.delay), getAnimation()]) : getAnimation();
319
- animation.start(({
320
- finished
321
- }) => {
322
- if (finished || isExiting) {
323
- resolve();
324
- }
325
- });
326
- });
327
- }
328
- if (process.env.NODE_ENV === "development") {
329
- if (props["debug"] === "verbose") {
330
- console.info(" \u{1F4A0} animate", key, `from (${value["_value"]}) to`, valIn, `(${val})`, "type", type, "interpolate", interpolateArgs);
331
- }
332
- }
333
- return value;
334
- }
335
- }, args);
336
- React.useEffect(() => {
337
- wasExitingRef.current = isExiting;
338
- });
339
- useIsomorphicLayoutEffect(() => {
340
- res.runners.forEach(r => r());
341
- const cycleId = exitCycleIdRef.current;
342
- if (res.completions.length === 0) {
343
- onDidAnimate?.();
344
- if (isExiting && !exitCompletedRef.current) {
345
- exitCompletedRef.current = true;
346
- sendExitComplete?.();
347
- }
348
- return;
349
- }
350
- let cancel = false;
351
- Promise.all(res.completions).then(() => {
352
- if (cancel) return;
353
- if (isExiting && cycleId !== exitCycleIdRef.current) return;
354
- if (isExiting && exitCompletedRef.current) return;
355
- onDidAnimate?.();
356
- if (isExiting) {
357
- exitCompletedRef.current = true;
358
- sendExitComplete?.();
359
- }
360
- });
361
- return () => {
362
- cancel = true;
363
- };
364
- }, args);
365
- useStyleEmitter?.((nextStyle, _effectiveTransition, pseudoActive) => {
366
- pseudoActiveRef.current = pseudoActive === true;
367
- const runners = [];
368
- const seenAnimateKeys = /* @__PURE__ */new Set();
369
- let transformCount = 0;
370
- let animatedShapeChanged = false;
371
- const useNativeDriverForNode = nativeDriver && !hasAnimatedLayoutKey(nextStyle, isDark) && !Object.keys(animateStyles.current).some(key => layoutStyleKey[key]);
372
- for (const key in nextStyle) {
373
- const rawVal = nextStyle[key];
374
- const val = resolveDynamicValue(rawVal, isDark);
375
- if (val === void 0) continue;
376
- if (key === "transform" && Array.isArray(val)) {
377
- for (const transform of val) {
378
- if (!transform) continue;
379
- const index = transformCount++;
380
- const tkey = Object.keys(transform)[0];
381
- const currentTransform = animatedTranforms.current[index]?.[tkey];
382
- if (!currentTransform) animatedShapeChanged = true;
383
- animatedTranforms.current[index] = {
384
- [tkey]: update(tkey, currentTransform, transform[tkey])
385
- };
386
- }
387
- } else if (animatedStyleKey[key] != null || costlyToAnimateStyleKey[key] || layoutStyleKey[key]) {
388
- if (layoutStyleKey[key] && typeof val !== "number") continue;
389
- if (colorStyleKey[key] && !isAnimatableColor(val)) continue;
390
- if (!animateStyles.current[key]) animatedShapeChanged = true;
391
- animateStyles.current[key] = update(key, animateStyles.current[key], val);
392
- seenAnimateKeys.add(key);
393
- }
394
- }
395
- for (const key in animateStyles.current) {
396
- if (!seenAnimateKeys.has(key)) {
397
- delete animateStyles.current[key];
398
- animatedShapeChanged = true;
399
- }
400
- }
401
- if (animatedTranforms.current.length > transformCount) {
402
- animatedTranforms.current = animatedTranforms.current.slice(0, transformCount);
403
- animatedShapeChanged = true;
404
- }
405
- runners.forEach(r => r());
406
- if (animatedShapeChanged && stateRef.current.nextState) {
407
- stateRef.current.baseSetStateShallow?.(stateRef.current.nextState);
408
- }
409
- function update(key, animated, valIn) {
410
- const isColor = colorStyleKey[key];
411
- const [numVal, type] = isColor ? [0, void 0] : getValue(valIn);
412
- let animateToValue = numVal;
413
- const value = animated || new Animated.Value(numVal);
414
- const curInterpolation = animationsState.current.get(value);
415
- if (type) {
416
- animationsState.current.set(value, {
417
- interpolation: value.interpolate(getInterpolated(curInterpolation?.current ?? value["_value"], numVal, type)),
418
- current: numVal
419
- });
420
- }
421
- if (isColor) {
422
- animateToValue = curInterpolation?.animateToValue ? 0 : 1;
423
- animationsState.current.set(value, {
424
- current: valIn,
425
- interpolation: value.interpolate(getColorInterpolated(curInterpolation?.current, valIn, animateToValue)),
426
- animateToValue: curInterpolation?.animateToValue ? 0 : 1
427
- });
428
- }
429
- const animationConfig = getAnimationConfig(key, animations, props.transition, "default");
430
- runners.push(() => {
431
- value.stopAnimation();
432
- const anim = Animated[animationConfig.type || "spring"](value, {
433
- toValue: animateToValue,
434
- ...animationConfig,
435
- useNativeDriver: useNativeDriverForNode
436
- });
437
- (animationConfig.delay ? Animated.sequence([Animated.delay(animationConfig.delay), anim]) : anim).start();
438
- });
439
- return value;
440
- }
441
- });
442
- if (process.env.NODE_ENV === "development") {
443
- if (props["debug"] === "verbose") {
444
- console.info(`Animated`, {
445
- response: res,
446
- inputStyle: style,
447
- isExiting
448
- });
449
- }
450
- }
451
- return res;
452
- }
453
- };
454
- }
455
- function getColorInterpolated(currentColor, nextColor, animateToValue) {
456
- const inputRange = [0, 1];
457
- const outputRange = [currentColor ? currentColor : nextColor, nextColor];
458
- if (animateToValue === 0) {
459
- outputRange.reverse();
460
- }
461
- return {
462
- inputRange,
463
- outputRange
464
- };
465
- }
466
- function getInterpolated(current, next, postfix = "deg") {
467
- if (next === current) {
468
- current = next - 1e-9;
469
- }
470
- const inputRange = [current, next];
471
- const outputRange = [`${current}${postfix}`, `${next}${postfix}`];
472
- if (next < current) {
473
- inputRange.reverse();
474
- outputRange.reverse();
475
- }
476
- return {
477
- inputRange,
478
- outputRange
479
- };
480
- }
481
- function getAnimationConfig(key, animations, transition, animationState = "default") {
482
- const normalized = normalizeTransition(transition);
483
- const shortKey = transformShorthands[key];
484
- const propAnimation = normalized.properties[key] ?? normalized.properties[shortKey];
485
- let animationType = null;
486
- let extraConf = {};
487
- if (typeof propAnimation === "string") {
488
- animationType = propAnimation;
489
- } else if (propAnimation && typeof propAnimation === "object") {
490
- animationType = propAnimation.type || getEffectiveAnimation(normalized, animationState);
491
- extraConf = propAnimation;
492
- } else {
493
- animationType = getEffectiveAnimation(normalized, animationState);
494
- }
495
- if (normalized.delay && !extraConf.delay) {
496
- extraConf = {
497
- ...extraConf,
498
- delay: normalized.delay
499
- };
500
- }
501
- const found = animationType ? animations[animationType] : {};
502
- return {
503
- ...found,
504
- // Apply global spring config overrides (from transition={['bouncy', { stiffness: 1000 }]})
505
- ...normalized.config,
506
- // Property-specific config takes highest precedence
507
- ...extraConf
508
- };
509
- }
510
- const transformShorthands = {
511
- x: "translateX",
512
- y: "translateY",
513
- translateX: "x",
514
- translateY: "y"
515
- };
516
- function getValue(input, isColor = false) {
517
- if (typeof input !== "string") {
518
- return [input];
519
- }
520
- const [_, number, after] = input.match(/([-0-9]+)(deg|%|px)/) ?? [];
521
- return [+number, after];
522
- }
523
- export { AnimatedText, AnimatedView, createAnimations, useAnimatedNumber, useAnimatedNumberReaction, useAnimatedNumberStyle, useAnimatedNumbersStyle };
524
- //# sourceMappingURL=createAnimations.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getEffectiveAnimation","normalizeTransition","isWeb","useIsomorphicLayoutEffect","ResetPresence","usePresence","useEvent","useThemeWithState","React","Animated","isFabric","global","__nativeFabricUIManager","resolveDynamicValue","value","isDark","dynamicValue","dynamic","dark","light","animatedStyleKey","transform","opacity","colorStyleKey","backgroundColor","color","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","layoutStyleKey","height","width","minHeight","maxHeight","minWidth","maxWidth","hasAnimatedLayoutKey","style","animateOnly","key","includes","isAnimatableColor","costlyToAnimateStyleKey","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","AnimatedView","View","AnimatedText","Text","useAnimatedNumber","initial","state","useRef","current","composite","val","Value","strategy","type","getInstance","getValue","stop","setValue","next","config","onFinish","handleFinish","finished","spring","toValue","useNativeDriver","start","timing","useAnimatedNumberReaction","onValue","onChange","useEffect","id","addListener","removeListener","useAnimatedNumberStyle","getStyle","useAnimatedNumbersStyle","vals","map","v","createAnimations","animations","options","nativeDriver","isReactNative","inputStyle","outputStyle","avoidReRenders","needsCustomComponent","useAnimations","props","onDidAnimate","componentState","presence","stateRef","useStyleEmitter","isDisabled","unmounted","isExiting","sendExitComplete","themeState","scheme","name","startsWith","animateStyles","animatedTranforms","animationsState","WeakMap","pseudoActiveRef","exitCycleIdRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","hasTransitionOnly","isEntering","wasEnteringRef","justFinishedEntering","args","JSON","stringify","res","useMemo","runners","completions","animationState","nonAnimatedStyle","useNativeDriverForNode","seenAnimateKeys","Set","sawTransform","transformCount","rawVal","update","add","console","warn","index","tkey","Object","keys","currentTransform","k","has","length","slice","animatedTransformStyle","r","get","interpolation","animatedStyle","fromEntries","entries","animated","valIn","isColorStyleKey","animateToValue","curInterpolation","interpolateArgs","getInterpolated","set","interpolate","getColorInterpolated","animationConfig","getAnimationConfig","transition","resolve","promise","Promise","res2","push","stopAnimation","getAnimation","animation","delay","sequence","process","env","NODE_ENV","info","forEach","cycleId","cancel","all","then","nextStyle","_effectiveTransition","pseudoActive","animatedShapeChanged","some","Array","isArray","nextState","baseSetStateShallow","isColor","numVal","anim","response","currentColor","nextColor","inputRange","outputRange","reverse","postfix","normalized","shortKey","transformShorthands","propAnimation","properties","animationType","extraConf","found","x","y","translateX","translateY","input","_","number","after","match"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}