@hanzogui/animations-reanimated 2.0.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,623 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var createAnimations_exports = {};
35
+ __export(createAnimations_exports, {
36
+ createAnimations: () => createAnimations
37
+ });
38
+ module.exports = __toCommonJS(createAnimations_exports);
39
+ var import_jsx_runtime = require("react/jsx-runtime"),
40
+ import_animation_helpers = require("@hanzogui/animation-helpers"),
41
+ import_core = require("@hanzogui/core"),
42
+ import_use_presence = require("@hanzogui/use-presence"),
43
+ import_react = __toESM(require("react"), 1),
44
+ import_react_native_reanimated = __toESM(require("react-native-reanimated"), 1);
45
+ function _type_of(obj) {
46
+ "@swc/helpers - typeof";
47
+
48
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
49
+ }
50
+ var getDefaultExport = function (module2) {
51
+ var mod = module2;
52
+ return (mod.__esModule || mod[Symbol.toStringTag] === "Module") && mod.default || mod;
53
+ },
54
+ Animated = getDefaultExport(import_react_native_reanimated.default),
55
+ resolveDynamicValue = function (value, isDark) {
56
+ if (value !== null && (typeof value > "u" ? "undefined" : _type_of(value)) === "object" && "dynamic" in value && _type_of(value.dynamic) === "object") {
57
+ var dynamic = value.dynamic;
58
+ return isDark ? dynamic.dark : dynamic.light;
59
+ }
60
+ return value;
61
+ },
62
+ applyAnimation = function (targetValue, config, callback) {
63
+ "worklet";
64
+
65
+ var delay = config.delay,
66
+ animatedValue;
67
+ return config.type === "timing" ? animatedValue = (0, import_react_native_reanimated.withTiming)(targetValue, config, callback) : animatedValue = (0, import_react_native_reanimated.withSpring)(targetValue, config, callback), delay && delay > 0 && (animatedValue = (0, import_react_native_reanimated.withDelay)(delay, animatedValue)), animatedValue;
68
+ },
69
+ ANIMATABLE_PROPERTIES = {
70
+ // Transform
71
+ transform: !0,
72
+ // Opacity
73
+ opacity: !0,
74
+ // Dimensions
75
+ height: !0,
76
+ width: !0,
77
+ minWidth: !0,
78
+ minHeight: !0,
79
+ maxWidth: !0,
80
+ maxHeight: !0,
81
+ // Background
82
+ backgroundColor: !0,
83
+ // Border colors
84
+ borderColor: !0,
85
+ borderLeftColor: !0,
86
+ borderRightColor: !0,
87
+ borderTopColor: !0,
88
+ borderBottomColor: !0,
89
+ // Border radius
90
+ borderRadius: !0,
91
+ borderTopLeftRadius: !0,
92
+ borderTopRightRadius: !0,
93
+ borderBottomLeftRadius: !0,
94
+ borderBottomRightRadius: !0,
95
+ // Border width
96
+ borderWidth: !0,
97
+ borderLeftWidth: !0,
98
+ borderRightWidth: !0,
99
+ borderTopWidth: !0,
100
+ borderBottomWidth: !0,
101
+ // Text
102
+ color: !0,
103
+ fontSize: !0,
104
+ fontWeight: !0,
105
+ lineHeight: !0,
106
+ letterSpacing: !0,
107
+ // Position
108
+ left: !0,
109
+ right: !0,
110
+ top: !0,
111
+ bottom: !0,
112
+ // Margin
113
+ margin: !0,
114
+ marginTop: !0,
115
+ marginBottom: !0,
116
+ marginLeft: !0,
117
+ marginRight: !0,
118
+ marginHorizontal: !0,
119
+ marginVertical: !0,
120
+ // Padding
121
+ padding: !0,
122
+ paddingTop: !0,
123
+ paddingBottom: !0,
124
+ paddingLeft: !0,
125
+ paddingRight: !0,
126
+ paddingHorizontal: !0,
127
+ paddingVertical: !0,
128
+ // Flex/Gap
129
+ gap: !0,
130
+ rowGap: !0,
131
+ columnGap: !0,
132
+ flex: !0,
133
+ flexGrow: !0,
134
+ flexShrink: !0
135
+ },
136
+ canAnimateProperty = function (key, value, animateOnly) {
137
+ return !(!ANIMATABLE_PROPERTIES[key] || value === "auto" || typeof value == "string" && value.startsWith("calc") || animateOnly && !animateOnly.includes(key));
138
+ };
139
+ function createWebAnimatedComponent(defaultTag) {
140
+ var isText = defaultTag === "span",
141
+ Component = Animated.createAnimatedComponent(/* @__PURE__ */(0, import_react.forwardRef)(function (propsIn, ref) {
142
+ var _hooks_usePropsTransform,
143
+ {
144
+ forwardedRef,
145
+ render = defaultTag,
146
+ ...rest
147
+ } = propsIn,
148
+ hostRef = (0, import_react.useRef)(null),
149
+ composedRefs = (0, import_core.useComposedRefs)(forwardedRef, ref, hostRef),
150
+ stateRef = (0, import_react.useRef)({
151
+ get host() {
152
+ return hostRef.current;
153
+ }
154
+ }),
155
+ [, themeState] = (0, import_core.useThemeWithState)({}),
156
+ _themeState_theme,
157
+ _themeState_name,
158
+ result = (0, import_core.getSplitStyles)(rest, isText ? import_core.Text.staticConfig : import_core.View.staticConfig, (_themeState_theme = themeState?.theme) !== null && _themeState_theme !== void 0 ? _themeState_theme : {}, (_themeState_name = themeState?.name) !== null && _themeState_name !== void 0 ? _themeState_name : "", {
159
+ unmounted: !1
160
+ }, {
161
+ isAnimated: !1,
162
+ noClass: !0
163
+ }),
164
+ _result_viewProps,
165
+ viewProps = (_result_viewProps = result?.viewProps) !== null && _result_viewProps !== void 0 ? _result_viewProps : {},
166
+ Element = render,
167
+ transformedProps = (_hooks_usePropsTransform = import_core.hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(import_core.hooks, render, viewProps, stateRef, !1);
168
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Element, {
169
+ ...transformedProps,
170
+ ref: composedRefs
171
+ });
172
+ }));
173
+ return Component.acceptRenderProp = !0, Component;
174
+ }
175
+ var AnimatedView = createWebAnimatedComponent("div"),
176
+ AnimatedText = createWebAnimatedComponent("span");
177
+ function buildTransitionConfig(transition, animations, animationState, styleKeys) {
178
+ var normalized = (0, import_animation_helpers.normalizeTransition)(transition),
179
+ effectiveKey = (0, import_animation_helpers.getEffectiveAnimation)(normalized, animationState),
180
+ _animations_effectiveKey,
181
+ base = effectiveKey ? (_animations_effectiveKey = animations[effectiveKey]) !== null && _animations_effectiveKey !== void 0 ? _animations_effectiveKey : {
182
+ type: "spring"
183
+ } : {
184
+ type: "spring"
185
+ };
186
+ normalized.delay && (base = {
187
+ ...base,
188
+ delay: normalized.delay
189
+ }), normalized.config && (base = {
190
+ ...base,
191
+ ...normalized.config
192
+ }, base.type !== "timing" && normalized.config.duration !== void 0 && normalized.config.damping === void 0 && normalized.config.stiffness === void 0 && normalized.config.mass === void 0 && (base = {
193
+ ...base,
194
+ type: "timing"
195
+ }));
196
+ var propertyConfigs = {},
197
+ _iteratorNormalCompletion = !0,
198
+ _didIteratorError = !1,
199
+ _iteratorError = void 0;
200
+ try {
201
+ for (var _iterator = styleKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
202
+ var key = _step.value,
203
+ propAnimation = normalized.properties[key];
204
+ if (typeof propAnimation == "string") {
205
+ var _animations_propAnimation;
206
+ propertyConfigs[key] = (_animations_propAnimation = animations[propAnimation]) !== null && _animations_propAnimation !== void 0 ? _animations_propAnimation : base;
207
+ } else if (propAnimation && (typeof propAnimation > "u" ? "undefined" : _type_of(propAnimation)) === "object") {
208
+ var configType = propAnimation.type,
209
+ _animations_configType,
210
+ baseForProp = configType && (_animations_configType = animations[configType]) !== null && _animations_configType !== void 0 ? _animations_configType : base;
211
+ propertyConfigs[key] = {
212
+ ...baseForProp,
213
+ ...propAnimation
214
+ };
215
+ } else propertyConfigs[key] = base;
216
+ }
217
+ } catch (err) {
218
+ _didIteratorError = !0, _iteratorError = err;
219
+ } finally {
220
+ try {
221
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
222
+ } finally {
223
+ if (_didIteratorError) throw _iteratorError;
224
+ }
225
+ }
226
+ return {
227
+ baseConfig: base,
228
+ propertyConfigs
229
+ };
230
+ }
231
+ function getStyleKeys(style) {
232
+ var keys = new Set(Object.keys(style));
233
+ if (style.transform && Array.isArray(style.transform)) {
234
+ var _iteratorNormalCompletion = !0,
235
+ _didIteratorError = !1,
236
+ _iteratorError = void 0;
237
+ try {
238
+ for (var _iterator = style.transform[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
239
+ var t = _step.value;
240
+ t && (typeof t > "u" ? "undefined" : _type_of(t)) === "object" && keys.add(Object.keys(t)[0]);
241
+ }
242
+ } catch (err) {
243
+ _didIteratorError = !0, _iteratorError = err;
244
+ } finally {
245
+ try {
246
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
247
+ } finally {
248
+ if (_didIteratorError) throw _iteratorError;
249
+ }
250
+ }
251
+ }
252
+ return keys;
253
+ }
254
+ function createAnimations(animationsConfig) {
255
+ var animations = {};
256
+ for (var key in animationsConfig) animations[key] = {
257
+ type: "spring",
258
+ ...animationsConfig[key]
259
+ };
260
+ return {
261
+ needsCustomComponent: !0,
262
+ View: import_core.isWeb ? AnimatedView : Animated.View,
263
+ Text: import_core.isWeb ? AnimatedText : Animated.Text,
264
+ isReactNative: !0,
265
+ inputStyle: "value",
266
+ outputStyle: "inline",
267
+ avoidReRenders: !0,
268
+ animations,
269
+ usePresence: import_use_presence.usePresence,
270
+ ResetPresence: import_use_presence.ResetPresence,
271
+ // =========================================================================
272
+ // useAnimatedNumber - For imperative animated values
273
+ // =========================================================================
274
+ useAnimatedNumber(initial) {
275
+ var sharedValue = (0, import_react_native_reanimated.useSharedValue)(initial);
276
+ return (0, import_react.useMemo)(function () {
277
+ return {
278
+ getInstance() {
279
+ "worklet";
280
+
281
+ return sharedValue;
282
+ },
283
+ getValue() {
284
+ "worklet";
285
+
286
+ return sharedValue.value;
287
+ },
288
+ setValue(next) {
289
+ "worklet";
290
+
291
+ var config = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
292
+ type: "spring"
293
+ },
294
+ onFinish = arguments.length > 2 ? arguments[2] : void 0,
295
+ handleFinish = onFinish ? function () {
296
+ "worklet";
297
+
298
+ (0, import_react_native_reanimated.runOnJS)(onFinish)();
299
+ } : void 0;
300
+ config.type === "direct" ? (sharedValue.value = next, onFinish?.()) : config.type === "spring" ? sharedValue.value = (0, import_react_native_reanimated.withSpring)(next, config, handleFinish) : sharedValue.value = (0, import_react_native_reanimated.withTiming)(next, config, handleFinish);
301
+ },
302
+ stop() {
303
+ "worklet";
304
+
305
+ (0, import_react_native_reanimated.cancelAnimation)(sharedValue);
306
+ }
307
+ };
308
+ }, [sharedValue]);
309
+ },
310
+ // =========================================================================
311
+ // useAnimatedNumberReaction - React to animated value changes
312
+ // =========================================================================
313
+ useAnimatedNumberReaction(param, onValue) {
314
+ var {
315
+ value
316
+ } = param,
317
+ instance = value.getInstance();
318
+ return (0, import_react_native_reanimated.useAnimatedReaction)(function () {
319
+ return instance.value;
320
+ }, function (next, prev) {
321
+ prev !== next && (0, import_react_native_reanimated.runOnJS)(onValue)(next);
322
+ }, [onValue, instance]);
323
+ },
324
+ // =========================================================================
325
+ // useAnimatedNumberStyle - Create animated styles from values
326
+ // =========================================================================
327
+ useAnimatedNumberStyle(val, getStyle) {
328
+ var instance = val.getInstance(),
329
+ derivedValue = (0, import_react_native_reanimated.useDerivedValue)(function () {
330
+ return instance.value;
331
+ }, [instance, getStyle]);
332
+ return (0, import_react_native_reanimated.useAnimatedStyle)(function () {
333
+ return getStyle(derivedValue.value);
334
+ }, [val, getStyle, derivedValue, instance]);
335
+ },
336
+ // =========================================================================
337
+ // useAnimations - Main animation hook for components
338
+ // =========================================================================
339
+ useAnimations(animationProps) {
340
+ var {
341
+ props,
342
+ presence,
343
+ style,
344
+ componentState,
345
+ useStyleEmitter,
346
+ themeName,
347
+ stateRef,
348
+ styleState
349
+ } = animationProps,
350
+ isHydrating = componentState.unmounted === !0,
351
+ isMounting = componentState.unmounted === "should-enter",
352
+ isEntering = !!componentState.unmounted,
353
+ isExiting = presence?.[0] === !1,
354
+ wasEnteringRef = (0, import_react.useRef)(isEntering),
355
+ justFinishedEntering = wasEnteringRef.current && !isEntering;
356
+ import_react.default.useEffect(function () {
357
+ wasEnteringRef.current = isEntering;
358
+ });
359
+ var _styleState_effectiveTransition,
360
+ effectiveTransition = (_styleState_effectiveTransition = styleState?.effectiveTransition) !== null && _styleState_effectiveTransition !== void 0 ? _styleState_effectiveTransition : props.transition,
361
+ normalized = (0, import_animation_helpers.normalizeTransition)(effectiveTransition),
362
+ animationState = isExiting ? "exit" : isMounting || justFinishedEntering ? "enter" : "default",
363
+ animationKey = (0, import_animation_helpers.getEffectiveAnimation)(normalized, animationState),
364
+ disableAnimation = isHydrating || !animationKey,
365
+ isDark = themeName?.startsWith("dark") || !1,
366
+ sendExitComplete = presence?.[1],
367
+ exitCycleIdRef = (0, import_react.useRef)(0),
368
+ pendingExitKeysRef = (0, import_react.useRef)(/* @__PURE__ */new Set()),
369
+ exitCompletedRef = (0, import_react.useRef)(!1),
370
+ wasExitingRef = (0, import_react.useRef)(!1),
371
+ justStartedExiting = isExiting && !wasExitingRef.current,
372
+ justStoppedExiting = !isExiting && wasExitingRef.current,
373
+ markExitKeyDone = (0, import_core.useEvent)(function (key3, cycleId, finished) {
374
+ cycleId === exitCycleIdRef.current && (exitCompletedRef.current || (pendingExitKeysRef.current.delete(key3), pendingExitKeysRef.current.size === 0 && (exitCompletedRef.current = !0, sendExitComplete?.())));
375
+ }),
376
+ isExitingRef = (0, import_react_native_reanimated.useSharedValue)(isExiting),
377
+ exitCycleIdShared = (0, import_react_native_reanimated.useSharedValue)(exitCycleIdRef.current);
378
+ justStartedExiting && (exitCycleIdRef.current++, exitCompletedRef.current = !1, pendingExitKeysRef.current.clear()), justStoppedExiting && (exitCycleIdRef.current++, pendingExitKeysRef.current.clear()), (0, import_core.useIsomorphicLayoutEffect)(function () {
379
+ isExitingRef.value = isExiting, exitCycleIdShared.value = exitCycleIdRef.current;
380
+ }, [isExiting, exitCycleIdRef.current]), import_react.default.useEffect(function () {
381
+ wasExitingRef.current = isExiting;
382
+ });
383
+ var animatedTargetsRef = (0, import_react_native_reanimated.useSharedValue)(null),
384
+ staticTargetsRef = (0, import_react_native_reanimated.useSharedValue)(null),
385
+ transformTargetsRef = (0, import_react_native_reanimated.useSharedValue)(null),
386
+ {
387
+ animatedStyles,
388
+ staticStyles
389
+ } = (0, import_react.useMemo)(function () {
390
+ var animated = {},
391
+ staticStyles2 = {},
392
+ animateOnly2 = props.animateOnly;
393
+ for (var key3 in style) {
394
+ var rawValue = style[key3],
395
+ value = resolveDynamicValue(rawValue, isDark);
396
+ if (value !== void 0) {
397
+ if (disableAnimation) {
398
+ staticStyles2[key3] = value;
399
+ continue;
400
+ }
401
+ canAnimateProperty(key3, value, animateOnly2) ? animated[key3] = value : staticStyles2[key3] = value;
402
+ }
403
+ }
404
+ if (isMounting) for (var key1 in animated) staticStyles2[key1] = animated[key1];
405
+ return {
406
+ animatedStyles: animated,
407
+ staticStyles: staticStyles2
408
+ };
409
+ }, [disableAnimation, style, isDark, isMounting, props.animateOnly]),
410
+ {
411
+ baseConfig,
412
+ propertyConfigs
413
+ } = (0, import_react.useMemo)(function () {
414
+ return isHydrating ? {
415
+ baseConfig: {
416
+ type: "timing",
417
+ duration: 0
418
+ },
419
+ propertyConfigs: {}
420
+ } : buildTransitionConfig(props.transition, animations, animationState, getStyleKeys(animatedStyles));
421
+ }, [isHydrating, props.transition, animatedStyles, animationState]),
422
+ configRef = (0, import_react_native_reanimated.useSharedValue)({
423
+ baseConfig,
424
+ propertyConfigs,
425
+ disableAnimation,
426
+ isHydrating
427
+ });
428
+ (0, import_core.useIsomorphicLayoutEffect)(function () {
429
+ configRef.set({
430
+ baseConfig,
431
+ propertyConfigs,
432
+ disableAnimation,
433
+ isHydrating
434
+ });
435
+ }, [baseConfig, propertyConfigs, disableAnimation, isHydrating]), useStyleEmitter?.(function (nextStyle, effectiveTransition2) {
436
+ var animateOnly2 = props.animateOnly,
437
+ animated = {},
438
+ statics = {},
439
+ transforms2 = [],
440
+ transitionToUse = effectiveTransition2 ?? props.transition,
441
+ {
442
+ baseConfig: newBase,
443
+ propertyConfigs: newPropertyConfigs
444
+ } = buildTransitionConfig(transitionToUse, animations, animationState, getStyleKeys(nextStyle));
445
+ configRef.set({
446
+ baseConfig: newBase,
447
+ propertyConfigs: newPropertyConfigs,
448
+ disableAnimation: configRef.get().disableAnimation,
449
+ isHydrating: configRef.get().isHydrating
450
+ });
451
+ for (var key3 in nextStyle) {
452
+ var rawValue = nextStyle[key3],
453
+ value = resolveDynamicValue(rawValue, isDark);
454
+ if (value != null) {
455
+ if (configRef.get().disableAnimation) {
456
+ statics[key3] = value;
457
+ continue;
458
+ }
459
+ if (key3 === "transform" && Array.isArray(value)) {
460
+ var _iteratorNormalCompletion2 = !0,
461
+ _didIteratorError2 = !1,
462
+ _iteratorError2 = void 0;
463
+ try {
464
+ for (var _iterator2 = value[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
465
+ var t2 = _step2.value;
466
+ if (t2 && (typeof t2 > "u" ? "undefined" : _type_of(t2)) === "object") {
467
+ var tKey2 = Object.keys(t2)[0],
468
+ tVal = t2[tKey2];
469
+ (typeof tVal == "number" || typeof tVal == "string") && transforms2.push(t2);
470
+ }
471
+ }
472
+ } catch (err) {
473
+ _didIteratorError2 = !0, _iteratorError2 = err;
474
+ } finally {
475
+ try {
476
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
477
+ } finally {
478
+ if (_didIteratorError2) throw _iteratorError2;
479
+ }
480
+ }
481
+ continue;
482
+ }
483
+ canAnimateProperty(key3, value, animateOnly2) ? animated[key3] = value : statics[key3] = value;
484
+ }
485
+ }
486
+ animatedTargetsRef.set(animated), staticTargetsRef.set(statics), transformTargetsRef.set(transforms2), process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-reanimated] useStyleEmitter update", {
487
+ animated,
488
+ statics,
489
+ transforms: transforms2
490
+ });
491
+ });
492
+ var exitKeysRegistered = (0, import_react.useRef)(!1);
493
+ if (justStartedExiting && sendExitComplete) {
494
+ var exitKeys = [],
495
+ animateOnly = props.animateOnly;
496
+ for (var key2 in animatedStyles) key2 !== "transform" && canAnimateProperty(key2, animatedStyles[key2], animateOnly) && exitKeys.push(key2);
497
+ var transforms = animatedStyles.transform;
498
+ if (transforms && Array.isArray(transforms)) {
499
+ var _iteratorNormalCompletion = !0,
500
+ _didIteratorError = !1,
501
+ _iteratorError = void 0;
502
+ try {
503
+ for (var _iterator = transforms[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
504
+ var t = _step.value;
505
+ if (t) {
506
+ var tKey = Object.keys(t)[0];
507
+ if (tKey) {
508
+ if (animateOnly && !animateOnly.includes(tKey)) continue;
509
+ exitKeys.push(`transform:${tKey}`);
510
+ }
511
+ }
512
+ }
513
+ } catch (err) {
514
+ _didIteratorError = !0, _iteratorError = err;
515
+ } finally {
516
+ try {
517
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
518
+ } finally {
519
+ if (_didIteratorError) throw _iteratorError;
520
+ }
521
+ }
522
+ }
523
+ pendingExitKeysRef.current = new Set(exitKeys), exitKeysRegistered.current = exitKeys.length > 0;
524
+ }
525
+ import_react.default.useEffect(function () {
526
+ !justStartedExiting || !sendExitComplete || !exitKeysRegistered.current && pendingExitKeysRef.current.size === 0 && (exitCompletedRef.current || (exitCompletedRef.current = !0, sendExitComplete()));
527
+ }, [justStartedExiting, sendExitComplete]);
528
+ var animatedStyle = (0, import_react_native_reanimated.useAnimatedStyle)(function () {
529
+ "worklet";
530
+
531
+ var _loop = function (key12) {
532
+ if (key12 === "transform") return "continue";
533
+ var targetValue = animatedValues[key12],
534
+ _config_propertyConfigs_key,
535
+ propConfig = (_config_propertyConfigs_key = config.propertyConfigs[key12]) !== null && _config_propertyConfigs_key !== void 0 ? _config_propertyConfigs_key : config.baseConfig,
536
+ callback = void 0;
537
+ if (currentlyExiting) {
538
+ var capturedKey = key12,
539
+ capturedCycleId = currentCycleId;
540
+ callback = function (finished) {
541
+ "worklet";
542
+
543
+ (0, import_react_native_reanimated.runOnJS)(markExitKeyDone)(capturedKey, capturedCycleId, finished ?? !1);
544
+ };
545
+ }
546
+ result[key12] = applyAnimation(targetValue, propConfig, callback);
547
+ };
548
+ if (disableAnimation || isHydrating) return {};
549
+ var result = {},
550
+ config = configRef.get(),
551
+ emitterAnimated = animatedTargetsRef.value,
552
+ emitterStatic = staticTargetsRef.value,
553
+ emitterTransforms = transformTargetsRef.value,
554
+ hasEmitterUpdates = emitterAnimated !== null,
555
+ animatedValues = hasEmitterUpdates ? emitterAnimated : animatedStyles,
556
+ staticValues = hasEmitterUpdates ? emitterStatic : {},
557
+ currentlyExiting = isExitingRef.value,
558
+ currentCycleId = exitCycleIdShared.value;
559
+ for (var key3 in staticValues) result[key3] = staticValues[key3];
560
+ for (var key1 in animatedValues) _loop(key1);
561
+ var transforms2 = hasEmitterUpdates ? emitterTransforms : animatedStyles.transform;
562
+ if (transforms2 && Array.isArray(transforms2)) {
563
+ var validTransforms = [],
564
+ _iteratorNormalCompletion2 = !0,
565
+ _didIteratorError2 = !1,
566
+ _iteratorError2 = void 0;
567
+ try {
568
+ for (var _loop1 = function () {
569
+ var t2 = _step2.value;
570
+ if (!t2) return "continue";
571
+ var keys = Object.keys(t2);
572
+ if (keys.length === 0) return "continue";
573
+ var value = t2[keys[0]];
574
+ if (typeof value == "number" || typeof value == "string") {
575
+ var transformKey = Object.keys(t2)[0],
576
+ targetValue = t2[transformKey],
577
+ _config_propertyConfigs_transformKey,
578
+ propConfig = (_config_propertyConfigs_transformKey = config.propertyConfigs[transformKey]) !== null && _config_propertyConfigs_transformKey !== void 0 ? _config_propertyConfigs_transformKey : config.baseConfig,
579
+ callback = void 0;
580
+ if (currentlyExiting) {
581
+ var capturedKey = `transform:${transformKey}`,
582
+ capturedCycleId = currentCycleId;
583
+ callback = function (finished) {
584
+ "worklet";
585
+
586
+ (0, import_react_native_reanimated.runOnJS)(markExitKeyDone)(capturedKey, capturedCycleId, finished ?? !1);
587
+ };
588
+ }
589
+ validTransforms.push({
590
+ [transformKey]: applyAnimation(targetValue, propConfig, callback)
591
+ });
592
+ }
593
+ }, _iterator2 = transforms2[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) _loop1();
594
+ } catch (err) {
595
+ _didIteratorError2 = !0, _iteratorError2 = err;
596
+ } finally {
597
+ try {
598
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
599
+ } finally {
600
+ if (_didIteratorError2) throw _iteratorError2;
601
+ }
602
+ }
603
+ validTransforms.length > 0 && (result.transform = validTransforms);
604
+ }
605
+ return result;
606
+ }, [animatedStyles, baseConfig, propertyConfigs, disableAnimation, isHydrating,
607
+ // Pass SharedValues so the mapper watches them on web (see useAnimatedStyle.ts line 470-472)
608
+ animatedTargetsRef, staticTargetsRef, transformTargetsRef, isExitingRef, exitCycleIdShared, markExitKeyDone]);
609
+ return process.env.NODE_ENV === "development" && props.debug && props.debug !== "profile" && console.info("[animations-reanimated] useAnimations", {
610
+ animationKey,
611
+ componentState,
612
+ isExiting,
613
+ animatedStyles,
614
+ staticStyles,
615
+ baseConfig,
616
+ propertyConfigs
617
+ }), {
618
+ style: [staticStyles, animatedStyle]
619
+ };
620
+ }
621
+ };
622
+ }
623
+ //# sourceMappingURL=createAnimations.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createAnimations_exports","__export","createAnimations","module","exports","import_jsx_runtime","require","import_animation_helpers","import_core","import_use_presence","import_react","__toESM","import_react_native_reanimated","_type_of","obj","Symbol","constructor","getDefaultExport","module2","__esModule","toStringTag","default","Animated","resolveDynamicValue","isDark","dynamic","dark","light","applyAnimation","targetValue","config","callback","delay","animatedValue","type","withTiming","withSpring","withDelay","ANIMATABLE_PROPERTIES","transform","opacity","height","width","minWidth","minHeight","maxWidth","maxHeight","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","fontSize","fontWeight","lineHeight","letterSpacing","left","right","top","bottom","margin","marginTop","marginBottom","marginLeft","marginRight","marginHorizontal","marginVertical","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","paddingHorizontal","paddingVertical","gap","rowGap","columnGap","flex","flexGrow","flexShrink","canAnimateProperty","key","animateOnly","startsWith","includes","createWebAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","forwardRef","propsIn","ref","_hooks_usePropsTransform","forwardedRef","render","rest","hostRef","useRef","composedRefs","useComposedRefs","stateRef","host","current","themeState","useThemeWithState","_themeState_theme","_themeState_name","result","getSplitStyles","Text","staticConfig","View","theme","name","unmounted","isAnimated","noClass","_result_viewProps","viewProps","Element","transformedProps","hooks","usePropsTransform","call","jsx","acceptRenderProp","AnimatedView","AnimatedText","buildTransitionConfig","transition","animations","animationState","styleKeys","normalized","normalizeTransition","effectiveKey","getEffectiveAnimation","_animations_effectiveKey","base","duration","damping","stiffness","mass","propertyConfigs","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","propAnimation","properties","_animations_propAnimation","configType","_animations_configType","baseForProp","err","return","baseConfig","getStyleKeys","style","keys","Set","Object","Array","isArray","t","add","animationsConfig","needsCustomComponent","isWeb","isReactNative","inputStyle","outputStyle","avoidReRenders","usePresence","ResetPresence","useAnimatedNumber","initial","sharedValue","useSharedValue","useMemo","getInstance","getValue","setValue","arguments","length","onFinish","handleFinish","runOnJS","stop","cancelAnimation","useAnimatedNumberReaction","param","onValue","instance","useAnimatedReaction","prev","useAnimatedNumberStyle","val","getStyle","derivedValue","useDerivedValue","useAnimatedStyle","useAnimations","animationProps","props","presence","componentState","useStyleEmitter","themeName","styleState","isHydrating","isMounting","isEntering","isExiting","wasEnteringRef","justFinishedEntering","useEffect","_styleState_effectiveTransition","effectiveTransition","animationKey","disableAnimation","sendExitComplete","exitCycleIdRef","pendingExitKeysRef","exitCompletedRef","wasExitingRef","justStartedExiting","justStoppedExiting","markExitKeyDone","useEvent","key3","cycleId","finished","delete","size","isExitingRef","exitCycleIdShared","clear","useIsomorphicLayoutEffect","animatedTargetsRef","staticTargetsRef","transformTargetsRef","animatedStyles","staticStyles","animated","staticStyles2","animateOnly2","rawValue","key1","configRef","set","nextStyle","effectiveTransition2","statics","transforms2","transitionToUse","newBase","newPropertyConfigs","get","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","t2","tKey2","tVal","push","process","env","NODE_ENV","debug","console","info","transforms","exitKeysRegistered","exitKeys","key2","tKey","animatedStyle"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}