react-native-reanimated 4.4.0 → 4.4.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 (81) hide show
  1. package/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +12 -5
  2. package/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +63 -36
  3. package/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +6 -8
  4. package/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +5 -0
  5. package/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +25 -12
  6. package/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +3 -0
  7. package/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +6 -2
  8. package/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +44 -1
  9. package/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +125 -43
  10. package/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +189 -102
  11. package/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +8 -3
  12. package/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +4 -16
  13. package/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +0 -16
  14. package/android/CMakeLists.txt +6 -0
  15. package/android/build.gradle.kts +12 -1
  16. package/android/src/main/java/com/swmansion/reanimated/NativeProxy.kt +46 -2
  17. package/android/src/main/java/com/swmansion/reanimated/keyboard/KeyboardAnimationCallback.kt +8 -1
  18. package/apple/reanimated/apple/ReanimatedModule.mm +12 -1
  19. package/compatibility.json +1 -1
  20. package/lib/module/common/constants/platform.js +4 -4
  21. package/lib/module/common/constants/platform.js.map +1 -1
  22. package/lib/module/core.js +27 -5
  23. package/lib/module/core.js.map +1 -1
  24. package/lib/module/createAnimatedComponent/getViewInfo.js +3 -1
  25. package/lib/module/createAnimatedComponent/getViewInfo.js.map +1 -1
  26. package/lib/module/css/component/AnimatedComponent.js +0 -2
  27. package/lib/module/css/component/AnimatedComponent.js.map +1 -1
  28. package/lib/module/css/native/managers/CSSManager.js +5 -5
  29. package/lib/module/css/native/managers/CSSManager.js.map +1 -1
  30. package/lib/module/css/native/managers/CSSTransitionsManager.js +8 -1
  31. package/lib/module/css/native/managers/CSSTransitionsManager.js.map +1 -1
  32. package/lib/module/css/svg/native/processors/stroke.js +9 -5
  33. package/lib/module/css/svg/native/processors/stroke.js.map +1 -1
  34. package/lib/module/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +6 -3
  35. package/lib/module/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  36. package/lib/module/layoutReanimation/animationsManager.js +31 -6
  37. package/lib/module/layoutReanimation/animationsManager.js.map +1 -1
  38. package/lib/module/mappers.js +1 -1
  39. package/lib/module/mappers.js.map +1 -1
  40. package/lib/module/platform-specific/findHostInstance.js +8 -5
  41. package/lib/module/platform-specific/findHostInstance.js.map +1 -1
  42. package/lib/module/platform-specific/jsVersion.js +1 -1
  43. package/lib/module/updateProps/updateProps.js +3 -2
  44. package/lib/module/updateProps/updateProps.js.map +1 -1
  45. package/lib/module/valueSetter.js +6 -7
  46. package/lib/module/valueSetter.js.map +1 -1
  47. package/lib/typescript/common/constants/platform.d.ts.map +1 -1
  48. package/lib/typescript/core.d.ts.map +1 -1
  49. package/lib/typescript/createAnimatedComponent/commonTypes.d.ts +0 -1
  50. package/lib/typescript/createAnimatedComponent/commonTypes.d.ts.map +1 -1
  51. package/lib/typescript/createAnimatedComponent/getViewInfo.d.ts.map +1 -1
  52. package/lib/typescript/css/component/AnimatedComponent.d.ts +0 -1
  53. package/lib/typescript/css/component/AnimatedComponent.d.ts.map +1 -1
  54. package/lib/typescript/css/native/managers/CSSTransitionsManager.d.ts +5 -1
  55. package/lib/typescript/css/native/managers/CSSTransitionsManager.d.ts.map +1 -1
  56. package/lib/typescript/css/svg/native/processors/stroke.d.ts.map +1 -1
  57. package/lib/typescript/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +17 -14
  58. package/lib/typescript/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts.map +1 -1
  59. package/lib/typescript/layoutReanimation/animationsManager.d.ts.map +1 -1
  60. package/lib/typescript/platform-specific/findHostInstance.d.ts.map +1 -1
  61. package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
  62. package/lib/typescript/platform-specific/types.d.ts +1 -0
  63. package/lib/typescript/platform-specific/types.d.ts.map +1 -1
  64. package/lib/typescript/updateProps/updateProps.d.ts.map +1 -1
  65. package/package.json +2 -2
  66. package/src/common/constants/platform.ts +4 -4
  67. package/src/core.ts +27 -5
  68. package/src/createAnimatedComponent/commonTypes.ts +0 -1
  69. package/src/createAnimatedComponent/getViewInfo.ts +3 -1
  70. package/src/css/component/AnimatedComponent.tsx +0 -2
  71. package/src/css/native/managers/CSSManager.ts +8 -8
  72. package/src/css/native/managers/CSSTransitionsManager.ts +9 -2
  73. package/src/css/svg/native/processors/stroke.ts +9 -6
  74. package/src/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +39 -36
  75. package/src/layoutReanimation/animationsManager.ts +33 -5
  76. package/src/mappers.ts +1 -1
  77. package/src/platform-specific/findHostInstance.ts +7 -7
  78. package/src/platform-specific/jsVersion.ts +1 -1
  79. package/src/platform-specific/types.ts +2 -0
  80. package/src/updateProps/updateProps.ts +3 -2
  81. package/src/valueSetter.ts +7 -7
@@ -322,9 +322,9 @@ void ReanimatedModuleProxy::init(const PlatformDepMethodsHolder &platformDepMeth
322
322
  if (!surfaceId) {
323
323
  return;
324
324
  }
325
+ // The flush set is drained by `executeLayoutAnimationsRequests`, driven
326
+ // by `runGrandCallback` (backend) or a JS `requestAnimationFrameFinalizer` (non-backend).
325
327
  strongThis->layoutAnimationFlushRequests_.insert(*surfaceId);
326
-
327
- strongThis->requestRenderForLayoutAnimations();
328
328
  };
329
329
 
330
330
  EndLayoutAnimationFunction endLayoutAnimation = [weakThis = weak_from_this()](int tag, bool shouldRemove) {
@@ -335,14 +335,6 @@ void ReanimatedModuleProxy::init(const PlatformDepMethodsHolder &platformDepMeth
335
335
  }
336
336
 
337
337
  auto surfaceId = strongThis->layoutAnimationsProxy_->endLayoutAnimation(tag, shouldRemove);
338
-
339
- if constexpr (StaticFeatureFlags::getFlag("USE_ANIMATION_BACKEND")) {
340
- // in the backend path this is called from runGrandCallback,
341
- // we are guaranteed to have the changes flushed
342
- } else {
343
- strongThis->requestRenderForLayoutAnimations();
344
- }
345
-
346
338
  if (!surfaceId) {
347
339
  return;
348
340
  }
@@ -808,11 +800,6 @@ void ReanimatedModuleProxy::performOperations() {
808
800
  }
809
801
 
810
802
  commitUpdates(uiRuntime, updatesBatch);
811
-
812
- // Clear the entire cache after the commit
813
- // (we don't know if the view is updated from outside of Reanimated
814
- // so we have to clear the entire cache)
815
- viewStylesRepository_->clearNodesCache();
816
803
  }
817
804
 
818
805
  void ReanimatedModuleProxy::performNonLayoutOperations() {
@@ -1206,7 +1193,8 @@ void ReanimatedModuleProxy::initializeFabric(const std::shared_ptr<UIManager> &u
1206
1193
  // TODO: we don't use the mount hook here, but we still need a way to handleNodeRemovals
1207
1194
  // for now we leave this to leak the memory, a fix will come in a follow-up
1208
1195
  } else {
1209
- mountHook_ = std::make_shared<ReanimatedMountHook>(uiManager_, updatesRegistryManager_, request);
1196
+ mountHook_ =
1197
+ std::make_shared<ReanimatedMountHook>(uiManager_, updatesRegistryManager_, viewStylesRepository_, request);
1210
1198
  }
1211
1199
 
1212
1200
  commitHook_ = std::make_shared<ReanimatedCommitHook>(uiManager_, updatesRegistryManager_, layoutAnimationsProxy_);
@@ -201,20 +201,6 @@ class ReanimatedModuleProxy : public std::enable_shared_from_this<ReanimatedModu
201
201
  void commitUpdates(jsi::Runtime &rt, const UpdatesBatch &updatesBatch);
202
202
  void applySynchronousUpdates(UpdatesBatch &updatesBatch, bool allowPartialUpdates);
203
203
 
204
- /** Use only on the UI thread. */
205
- void requestRenderForLayoutAnimations() {
206
- if (layoutAnimationRenderRequested_) [[likely]] {
207
- return;
208
- }
209
-
210
- layoutAnimationRenderRequested_ = true;
211
- requestRender_([weakThis = weak_from_this()](double) {
212
- if (auto strongThis = weakThis.lock()) {
213
- strongThis->layoutAnimationRenderRequested_ = false;
214
- }
215
- });
216
- }
217
-
218
204
  #if REACT_NATIVE_VERSION_MINOR >= 85
219
205
  std::shared_ptr<UIManagerAnimationBackend> getAnimationBackend();
220
206
  AnimationMutations runGrandCallback(AnimationTimestamp timestamp, GrandCallbackSource source);
@@ -279,8 +265,6 @@ class ReanimatedModuleProxy : public std::enable_shared_from_this<ReanimatedModu
279
265
  std::shared_ptr<ReanimatedMountHook> mountHook_;
280
266
  /// Access only on UI thread.
281
267
  std::set<SurfaceId> layoutAnimationFlushRequests_;
282
- /// Access only on UI thread.
283
- bool layoutAnimationRenderRequested_;
284
268
 
285
269
  const KeyboardEventSubscribeFunction subscribeForKeyboardEventsFunction_;
286
270
  const KeyboardEventUnsubscribeFunction unsubscribeFromKeyboardEventsFunction_;
@@ -49,6 +49,12 @@ add_library(reanimated SHARED ${REANIMATED_COMMON_CPP_SOURCES}
49
49
  target_precompile_headers(reanimated PRIVATE
50
50
  "${ANDROID_CPP_DIR}/ReanimatedPCH.h")
51
51
 
52
+ # Stop Clang from embedding a build timestamp in the .pch. Without this the PCH
53
+ # is non-reproducible across builds, so ccache can't reuse it and translation
54
+ # units reject a restored PCH as "modified since built".
55
+ target_compile_options(reanimated PRIVATE
56
+ "$<$<COMPILE_LANGUAGE:CXX>:-Xclang;-fno-pch-timestamp>")
57
+
52
58
  if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 80)
53
59
  include(
54
60
  "${REACT_NATIVE_DIR}/ReactCommon/cmake-utils/react-native-flags.cmake")
@@ -109,6 +109,12 @@ if (project != rootProject) {
109
109
  val packageDir: File = project.projectDir.parentFile
110
110
  val reactNativeRootDir: File = resolveReactNativeDirectory()
111
111
  val REACT_NATIVE_VERSION: String = getReactNativeVersion()
112
+ val IS_REACT_NATIVE_86_OR_NEWER: Boolean = run {
113
+ val parts = REACT_NATIVE_VERSION.split(".")
114
+ val major = parts.getOrNull(0)?.toIntOrNull() ?: 0
115
+ val minor = parts.getOrNull(1)?.toIntOrNull() ?: 0
116
+ major > 0 || minor >= 86
117
+ }
112
118
  val REANIMATED_VERSION: String = getReanimatedVersion()
113
119
  val IS_REANIMATED_EXAMPLE_APP: Boolean = safeAppExtGet("isReanimatedExampleApp", false)?.toString()?.toBoolean() ?: false
114
120
  val REANIMATED_PROFILING: Boolean = safeAppExtGet("enableReanimatedProfiling", false)?.toString()?.toBoolean() ?: false
@@ -121,7 +127,11 @@ val reanimatedPrefabHeadersDir: File = project.file("${layout.buildDirectory.get
121
127
 
122
128
  fun reactNativeArchitectures(): List<String> {
123
129
  val value = project.findProperty("reactNativeArchitectures") as String?
124
- return value?.split(",") ?: listOf("armeabi-v7a", "x86", "x86_64", "arm64-v8a")
130
+ return value?.split(",")
131
+ ?.map { it.trim() }
132
+ ?.filter { it.isNotEmpty() }
133
+ ?.ifEmpty { null }
134
+ ?: listOf("armeabi-v7a", "x86", "x86_64", "arm64-v8a")
125
135
  }
126
136
 
127
137
  if (project == rootProject) {
@@ -168,6 +178,7 @@ android {
168
178
  buildConfigField("String", "REANIMATED_VERSION_JAVA", "\"$REANIMATED_VERSION\"")
169
179
  buildConfigField("boolean", "IS_INTERNAL_BUILD", "false")
170
180
  buildConfigField("int", "EXOPACKAGE_FLAGS", "0")
181
+ buildConfigField("boolean", "IS_REACT_NATIVE_86_OR_NEWER", IS_REACT_NATIVE_86_OR_NEWER.toString())
171
182
 
172
183
  @Suppress("UnstableApiUsage")
173
184
  externalNativeBuild {
@@ -3,6 +3,7 @@ package com.swmansion.reanimated
3
3
  import android.content.ContentResolver
4
4
  import android.os.SystemClock
5
5
  import android.provider.Settings
6
+ import android.util.Log
6
7
  import com.facebook.jni.HybridData
7
8
  import com.facebook.proguard.annotations.DoNotStrip
8
9
  import com.facebook.react.bridge.NativeModule
@@ -11,6 +12,7 @@ import com.facebook.react.bridge.UiThreadUtil
11
12
  import com.facebook.react.common.annotations.FrameworkAPI
12
13
  import com.facebook.react.fabric.FabricUIManager
13
14
  import com.facebook.react.turbomodule.core.CallInvokerHolderImpl
15
+ import com.facebook.react.uimanager.IllegalViewOperationException
14
16
  import com.facebook.react.uimanager.UIManagerHelper
15
17
  import com.facebook.react.uimanager.common.UIManagerType
16
18
  import com.facebook.soloader.SoLoader
@@ -201,7 +203,19 @@ open class NativeProxy {
201
203
  }
202
204
 
203
205
  for (i in tags.indices) {
204
- if (mFabricUIManager.resolveView(tags[i]) == null) {
206
+ try {
207
+ if (mFabricUIManager.resolveView(tags[i]) == null) {
208
+ tags[i] = -1
209
+ }
210
+ } catch (e: IllegalViewOperationException) {
211
+ // `resolveView` is expected to return `null` for a tag without a
212
+ // mounted view, but it instead throws when the tag's `ViewState` is
213
+ // already registered while the Android view hasn't been created yet.
214
+ // This happens when a view is mid-preallocation and a third-party view
215
+ // manager (e.g. lottie-react-native) dispatches an event synchronously
216
+ // from within `createView`, re-entering this code path. Treat it the
217
+ // same as a missing view.
218
+ // See https://github.com/software-mansion/react-native-reanimated/issues/9636.
205
219
  tags[i] = -1
206
220
  }
207
221
  }
@@ -209,13 +223,43 @@ open class NativeProxy {
209
223
  return true
210
224
  }
211
225
 
226
+ // TODO(#9681): Temporary workaround for RN >= 0.86. Since RN 0.86,
227
+ // overrideBySynchronousMountPropsAtMountingAndroid defaults on, so RN's only public
228
+ // synchronous-update API (synchronouslyUpdateViewOnUIThread) seeds the tagToSynchronousMountProps
229
+ // cache that then clamps later commits and freezes animations. On RN >= 0.86 we instead call
230
+ // MountingManager.updatePropsSynchronously directly (apply without cache seeding) via reflection, since
231
+ // MountingManager is internal. On older RN the flag is off, so we keep the original RN path
232
+ // unchanged (gated by BuildConfig.IS_REACT_NATIVE_86_OR_NEWER, derived from the RN version at
233
+ // build time). Remove once RN exposes a non-seeding synchronous-update API.
234
+ private val mountingManager: Any by lazy {
235
+ FabricUIManager::class.java.getDeclaredField("mMountingManager").run {
236
+ isAccessible = true
237
+ get(mFabricUIManager)
238
+ }
239
+ }
240
+
241
+ private val updatePropsSynchronouslyMethod by lazy {
242
+ mountingManager.javaClass.methods
243
+ .first {
244
+ it.name.startsWith("updatePropsSynchronously") && it.parameterTypes.size == 2
245
+ }.apply { isAccessible = true }
246
+ }
247
+
212
248
  @DoNotStrip
213
249
  fun synchronouslyUpdateUIProps(
214
250
  intBuffer: IntArray,
215
251
  doubleBuffer: DoubleArray,
216
252
  ) {
217
253
  SynchronousPropsBufferParser.parse(intBuffer, doubleBuffer) { viewTag, props ->
218
- mFabricUIManager.synchronouslyUpdateViewOnUIThread(viewTag, props)
254
+ if (BuildConfig.IS_REACT_NATIVE_86_OR_NEWER) {
255
+ try {
256
+ updatePropsSynchronouslyMethod.invoke(mountingManager, viewTag, props)
257
+ } catch (e: Exception) {
258
+ Log.w("Reanimated", "synchronouslyUpdateUIProps failed for tag $viewTag", e)
259
+ }
260
+ } else {
261
+ mFabricUIManager.synchronouslyUpdateViewOnUIThread(viewTag, props)
262
+ }
219
263
  }
220
264
  }
221
265
 
@@ -12,6 +12,8 @@ class KeyboardAnimationCallback(
12
12
  private val CONTENT_TYPE_MASK = WindowInsetsCompat.Type.ime()
13
13
  }
14
14
 
15
+ private var mPendingStartDispatch = false
16
+
15
17
  override fun onStart(
16
18
  animation: WindowInsetsAnimationCompat,
17
19
  bounds: WindowInsetsAnimationCompat.BoundsCompat,
@@ -20,7 +22,7 @@ class KeyboardAnimationCallback(
20
22
  return bounds
21
23
  }
22
24
  mKeyboard.onAnimationStart()
23
- mNotifyAboutKeyboardChange.call()
25
+ mPendingStartDispatch = true
24
26
  return super.onStart(animation, bounds)
25
27
  }
26
28
 
@@ -36,6 +38,7 @@ class KeyboardAnimationCallback(
36
38
  }
37
39
  }
38
40
  if (isAnyKeyboardAnimationRunning) {
41
+ mPendingStartDispatch = false
39
42
  mKeyboard.updateHeight(insets, mIsNavigationBarTranslucent)
40
43
  mNotifyAboutKeyboardChange.call()
41
44
  }
@@ -44,6 +47,10 @@ class KeyboardAnimationCallback(
44
47
 
45
48
  override fun onEnd(animation: WindowInsetsAnimationCompat) {
46
49
  if (isKeyboardAnimation(animation)) {
50
+ if (mPendingStartDispatch) {
51
+ mNotifyAboutKeyboardChange.call()
52
+ }
53
+ mPendingStartDispatch = false
47
54
  mKeyboard.onAnimationEnd()
48
55
  mNotifyAboutKeyboardChange.call()
49
56
  }
@@ -163,7 +163,18 @@ RCT_EXPORT_MODULE(ReanimatedModule);
163
163
  - (BOOL)hasReactNativeFailedReload
164
164
  {
165
165
  id workletsModule = [_moduleRegistry moduleForName:"WorkletsModule"];
166
- return ![_moduleRegistry moduleIsInitialized:[workletsModule class]];
166
+ if (![_moduleRegistry moduleIsInitialized:[workletsModule class]]) {
167
+ return YES;
168
+ }
169
+
170
+ // On a double reload React Native can momentarily leave the surface presenter without
171
+ // a scheduler. This is another manifestation of the same non-fatal reload race, so we
172
+ // bail on it here instead of asserting on a nil scheduler later in installTurboModule.
173
+ if ([_surfacePresenter scheduler] == nil) {
174
+ return YES;
175
+ }
176
+
177
+ return NO;
167
178
  }
168
179
 
169
180
  RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(installTurboModule)
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "4.4.x": {
8
8
  "react-native": ["0.83", "0.84", "0.85", "0.86"],
9
- "react-native-worklets": ["0.9.x"]
9
+ "react-native-worklets": ["0.9.x", "0.10.x"]
10
10
  },
11
11
  "4.3.x": {
12
12
  "react-native": ["0.81", "0.82", "0.83", "0.84", "0.85"],
@@ -8,12 +8,12 @@ function isWindowAvailable() {
8
8
  // @ts-ignore Fallback if `window` is undefined.
9
9
  return typeof window !== 'undefined';
10
10
  }
11
- export const IS_ANDROID = /* @__PURE__ */(() => Platform.OS === 'android')();
12
- export const IS_IOS = /* @__PURE__ */(() => Platform.OS === 'ios')();
13
- export const IS_WEB = Platform.OS === 'web';
11
+ export const IS_ANDROID = /* @__PURE__ */(() => Platform?.OS === 'android')();
12
+ export const IS_IOS = /* @__PURE__ */(() => Platform?.OS === 'ios')();
13
+ export const IS_WEB = Platform?.OS === 'web';
14
14
  export const IS_JEST = !!process.env.JEST_WORKER_ID;
15
15
  /** @knipIgnore */
16
- export const IS_WINDOWS = Platform.OS === 'windows';
16
+ export const IS_WINDOWS = Platform?.OS === 'windows';
17
17
  export const IS_WINDOW_AVAILABLE = isWindowAvailable();
18
18
  export const SHOULD_BE_USE_WEB = IS_JEST || IS_WEB || IS_WINDOWS;
19
19
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","isWindowAvailable","window","IS_ANDROID","OS","IS_IOS","IS_WEB","IS_JEST","process","env","JEST_WORKER_ID","IS_WINDOWS","IS_WINDOW_AVAILABLE","SHOULD_BE_USE_WEB"],"sourceRoot":"../../../../src","sources":["common/constants/platform.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,iBAAiBA,CAAA,EAAG;EAC3B;EACA;EACA;EACA;EACA,OAAO,OAAOC,MAAM,KAAK,WAAW;AACtC;AAEA,OAAO,MAAMC,UAAmB,GAAG,eAAgB,CAAC,MAClDH,QAAQ,CAACI,EAAE,KAAK,SAAS,EAAE,CAAC;AAC9B,OAAO,MAAMC,MAAe,GAAG,eAAgB,CAAC,MAAML,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE,CAAC;AAC9E,OAAO,MAAME,MAAe,GAAGN,QAAQ,CAACI,EAAE,KAAK,KAAK;AACpD,OAAO,MAAMG,OAAgB,GAAG,CAAC,CAACC,OAAO,CAACC,GAAG,CAACC,cAAc;AAC5D;AACA,OAAO,MAAMC,UAAmB,GAAGX,QAAQ,CAACI,EAAE,KAAK,SAAS;AAE5D,OAAO,MAAMQ,mBAA4B,GAAGX,iBAAiB,CAAC,CAAC;AAE/D,OAAO,MAAMY,iBAAiB,GAAGN,OAAO,IAAID,MAAM,IAAIK,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["Platform","isWindowAvailable","window","IS_ANDROID","OS","IS_IOS","IS_WEB","IS_JEST","process","env","JEST_WORKER_ID","IS_WINDOWS","IS_WINDOW_AVAILABLE","SHOULD_BE_USE_WEB"],"sourceRoot":"../../../../src","sources":["common/constants/platform.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,iBAAiBA,CAAA,EAAG;EAC3B;EACA;EACA;EACA;EACA,OAAO,OAAOC,MAAM,KAAK,WAAW;AACtC;AAEA,OAAO,MAAMC,UAAmB,GAAG,eAAgB,CAAC,MAClDH,QAAQ,EAAEI,EAAE,KAAK,SAAS,EAAE,CAAC;AAC/B,OAAO,MAAMC,MAAe,GAAG,eAAgB,CAAC,MAAML,QAAQ,EAAEI,EAAE,KAAK,KAAK,EAAE,CAAC;AAC/E,OAAO,MAAME,MAAe,GAAGN,QAAQ,EAAEI,EAAE,KAAK,KAAK;AACrD,OAAO,MAAMG,OAAgB,GAAG,CAAC,CAACC,OAAO,CAACC,GAAG,CAACC,cAAc;AAC5D;AACA,OAAO,MAAMC,UAAmB,GAAGX,QAAQ,EAAEI,EAAE,KAAK,SAAS;AAE7D,OAAO,MAAMQ,mBAA4B,GAAGX,iBAAiB,CAAC,CAAC;AAE/D,OAAO,MAAMY,iBAAiB,GAAGN,OAAO,IAAID,MAAM,IAAIK,UAAU","ignoreList":[]}
@@ -45,10 +45,10 @@ export function getViewProp(viewTag, propName, component) {
45
45
  });
46
46
  }
47
47
  function getSensorContainer() {
48
- if (!global.__sensorContainer) {
49
- global.__sensorContainer = new SensorContainer();
48
+ if (!globalThis.__sensorContainer) {
49
+ globalThis.__sensorContainer = new SensorContainer();
50
50
  }
51
- return global.__sensorContainer;
51
+ return globalThis.__sensorContainer;
52
52
  }
53
53
  export function registerEventHandler(eventHandler, eventName, emitterReactTag = -1) {
54
54
  function handleEvent(_eventTimestamp, event) {
@@ -56,7 +56,18 @@ export function registerEventHandler(eventHandler, eventName, emitterReactTag =
56
56
 
57
57
  eventHandler(event);
58
58
  // We call mappers here to make sure view updates can be applied in the same frame after an event.
59
- global.__mapperRun();
59
+ if (globalThis.__mapperRun) {
60
+ globalThis.__mapperRun();
61
+ } else {
62
+ function runMappers() {
63
+ if (globalThis.__mapperRun) {
64
+ globalThis.__mapperRun();
65
+ } else {
66
+ requestAnimationFrame(runMappers);
67
+ }
68
+ }
69
+ requestAnimationFrame(runMappers);
70
+ }
60
71
  }
61
72
  return ReanimatedModule.registerEventHandler(createSerializable(handleEvent), eventName, emitterReactTag);
62
73
  }
@@ -71,7 +82,18 @@ export function subscribeForKeyboardEvents(eventHandler, options) {
71
82
 
72
83
  eventHandler(state, height);
73
84
  // We call mappers here to make sure view updates can be applied in the same frame after an event.
74
- global.__mapperRun();
85
+ if (globalThis.__mapperRun) {
86
+ globalThis.__mapperRun();
87
+ } else {
88
+ function runMappers() {
89
+ if (globalThis.__mapperRun) {
90
+ globalThis.__mapperRun();
91
+ } else {
92
+ requestAnimationFrame(runMappers);
93
+ }
94
+ }
95
+ requestAnimationFrame(runMappers);
96
+ }
75
97
  }
76
98
  if (__DEV__) {
77
99
  controlEdgeToEdgeValues({
@@ -1 +1 @@
1
- {"version":3,"names":["controlEdgeToEdgeValues","isEdgeToEdge","createSerializable","logger","ReanimatedModule","SensorContainer","startMapper","stopMapper","makeMutable","EDGE_TO_EDGE","isReanimated3","warn","isConfigured","getViewProp","viewTag","propName","component","Error","Promise","resolve","reject","result","slice","getSensorContainer","global","__sensorContainer","registerEventHandler","eventHandler","eventName","emitterReactTag","handleEvent","_eventTimestamp","event","__mapperRun","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","__DEV__","isStatusBarTranslucentAndroid","isNavigationBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","config","sensorContainer","initializeSensor","unregisterSensor","sensorId","enableLayoutAnimations","_flag","_isCallByUser","configureLayoutAnimationBatch","layoutAnimationsBatch","setShouldAnimateExitingForTag","shouldAnimate"],"sourceRoot":"../../src","sources":["core.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,uBAAuB,EACvBC,YAAY,QACP,8BAA8B;AAErC,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D,SAASC,MAAM,QAAQ,mBAAU;AAWjC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,WAAW,EAAEC,UAAU,QAAQ,cAAW;AACnD,SAASC,WAAW,QAAQ,eAAY;AAExC,MAAMC,YAAY,GAAG,eAAgBR,YAAY,CAAC,CAAC;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,aAAa,GAAGA,CAAA,KAAM;EACjCP,MAAM,CAACQ,IAAI,CACT,2GACF,CAAC;EACD,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGF,aAAa;AAEzC,OAAO,SAASG,WAAWA,CACzBC,OAAe,EACfC,QAAgB,EAChBC,SAAuC,EAC3B;EACZ,IAAI,CAACA,SAAS,EAAE;IACd,MAAM,IAAIC,KAAK,CACb,iGACF,CAAC;EACH;;EAEA;EACA,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,OAAOhB,gBAAgB,CAACS,WAAW,CACjCC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACRK,MAAS,IAAK;MACb,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;QACjE;QACAF,MAAM,CAACC,MAAM,CAAC;MAChB,CAAC,MAAM;QACLF,OAAO,CAACE,MAAM,CAAC;MACjB;IACF,CACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,SAASE,kBAAkBA,CAAA,EAAoB;EAC7C,IAAI,CAACC,MAAM,CAACC,iBAAiB,EAAE;IAC7BD,MAAM,CAACC,iBAAiB,GAAG,IAAIpB,eAAe,CAAC,CAAC;EAClD;EACA,OAAOmB,MAAM,CAACC,iBAAiB;AACjC;AAEA,OAAO,SAASC,oBAAoBA,CAClCC,YAAqC,EACrCC,SAAiB,EACjBC,eAAe,GAAG,CAAC,CAAC,EACZ;EACR,SAASC,WAAWA,CAACC,eAAuB,EAAEC,KAAa,EAAE;IAC3D,SAAS;;IACTL,YAAY,CAACK,KAAK,CAAC;IACnB;IACAR,MAAM,CAACS,WAAW,CAAC,CAAC;EACtB;EACA,OAAO7B,gBAAgB,CAACsB,oBAAoB,CAC1CxB,kBAAkB,CAAC4B,WAA8B,CAAC,EAClDF,SAAS,EACTC,eACF,CAAC;AACH;AAEA,OAAO,SAASK,sBAAsBA,CAACC,EAAU,EAAQ;EACvD,OAAO/B,gBAAgB,CAAC8B,sBAAsB,CAACC,EAAE,CAAC;AACpD;AAEA,OAAO,SAASC,0BAA0BA,CACxCT,YAAqD,EACrDU,OAAgC,EACxB;EACR;EACA;EACA,SAASP,WAAWA,CAACQ,KAAa,EAAEC,MAAc,EAAE;IAClD,SAAS;;IACTZ,YAAY,CAACW,KAAK,EAAEC,MAAM,CAAC;IAC3B;IACAf,MAAM,CAACS,WAAW,CAAC,CAAC;EACtB;EAEA,IAAIO,OAAO,EAAE;IACXxC,uBAAuB,CAAC;MACtByC,6BAA6B,EAAEJ,OAAO,CAACI,6BAA6B;MACpEC,iCAAiC,EAC/BL,OAAO,CAACK;IACZ,CAAC,CAAC;EACJ;EAEA,OAAOtC,gBAAgB,CAACgC,0BAA0B,CAChDlC,kBAAkB,CAAC4B,WAA8B,CAAC,EAClDrB,YAAY,KAAK4B,OAAO,CAACI,6BAA6B,IAAI,KAAK,CAAC,EAChEhC,YAAY,KAAK4B,OAAO,CAACK,iCAAiC,IAAI,KAAK,CACrE,CAAC;AACH;AAEA,OAAO,SAASC,6BAA6BA,CAACC,UAAkB,EAAQ;EACtE,OAAOxC,gBAAgB,CAACuC,6BAA6B,CAACC,UAAU,CAAC;AACnE;AAEA,OAAO,SAASC,cAAcA,CAC5BC,UAAsB,EACtBC,MAAoB,EACpBpB,YAGS,EACD;EACR,MAAMqB,eAAe,GAAGzB,kBAAkB,CAAC,CAAC;EAC5C,OAAOyB,eAAe,CAACH,cAAc,CACnCC,UAAU,EACVC,MAAM,EACN7C,kBAAkB,CAACyB,YAA+B,CACpD,CAAC;AACH;AAEA,OAAO,SAASsB,gBAAgBA,CAC9BH,UAAsB,EACtBC,MAAoB,EACkB;EACtC,MAAMC,eAAe,GAAGzB,kBAAkB,CAAC,CAAC;EAC5C,OAAOyB,eAAe,CAACC,gBAAgB,CAACH,UAAU,EAAEC,MAAM,CAAC;AAC7D;AAEA,OAAO,SAASG,gBAAgBA,CAACC,QAAgB,EAAQ;EACvD,MAAMH,eAAe,GAAGzB,kBAAkB,CAAC,CAAC;EAC5C,OAAOyB,eAAe,CAACE,gBAAgB,CAACC,QAAQ,CAAC;AACnD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CACpCC,KAAc,EACdC,aAAa,GAAG,IAAI,EACd;EACNnD,MAAM,CAACQ,IAAI,CACT,2EACF,CAAC;AACH;AAEA,OAAO,SAAS4C,6BAA6BA,CAC3CC,qBAAiD,EAC3C;EACNpD,gBAAgB,CAACmD,6BAA6B,CAACC,qBAAqB,CAAC;AACvE;AAEA,OAAO,SAASC,6BAA6BA,CAC3C3C,OAA6B,EAC7B4C,aAAsB,EACtB;EACAtD,gBAAgB,CAACqD,6BAA6B,CAC5C3C,OAAO,EACP4C,aACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["controlEdgeToEdgeValues","isEdgeToEdge","createSerializable","logger","ReanimatedModule","SensorContainer","startMapper","stopMapper","makeMutable","EDGE_TO_EDGE","isReanimated3","warn","isConfigured","getViewProp","viewTag","propName","component","Error","Promise","resolve","reject","result","slice","getSensorContainer","globalThis","__sensorContainer","registerEventHandler","eventHandler","eventName","emitterReactTag","handleEvent","_eventTimestamp","event","__mapperRun","runMappers","requestAnimationFrame","unregisterEventHandler","id","subscribeForKeyboardEvents","options","state","height","__DEV__","isStatusBarTranslucentAndroid","isNavigationBarTranslucentAndroid","unsubscribeFromKeyboardEvents","listenerId","registerSensor","sensorType","config","sensorContainer","initializeSensor","unregisterSensor","sensorId","enableLayoutAnimations","_flag","_isCallByUser","configureLayoutAnimationBatch","layoutAnimationsBatch","setShouldAnimateExitingForTag","shouldAnimate"],"sourceRoot":"../../src","sources":["core.ts"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,9 @@
15
15
  // reactViewName via componentNameByReactViewName().
16
16
  export function getViewInfo(element) {
17
17
  return {
18
- reactViewName: element?._viewConfig?.uiViewClassName ?? element?.__internalInstanceHandle?.type ?? element?.__internalInstanceHandle?.elementType,
18
+ reactViewName: element?.__viewConfig?.uiViewClassName ??
19
+ // ReactFabricHostComponent (e.g. react-native-macos) exposes `_viewConfig`.
20
+ element?._viewConfig?.uiViewClassName ?? element?.__internalInstanceHandle?.type ?? element?.__internalInstanceHandle?.elementType,
19
21
  viewTag: element?.__nativeTag
20
22
  };
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getViewInfo","element","reactViewName","_viewConfig","uiViewClassName","__internalInstanceHandle","type","elementType","viewTag","__nativeTag"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/getViewInfo.ts"],"mappings":"AAAA,YAAY;;AAIZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,WAAWA,CAACC,OAAqB,EAG/C;EACA,OAAO;IACLC,aAAa,EAAGD,OAAO,EAAEE,WAAW,EAAEC,eAAe,IACnDH,OAAO,EAAEI,wBAAwB,EAAEC,IAAI,IACvCL,OAAO,EAAEI,wBAAwB,EAAEE,WAAsB;IAC3DC,OAAO,EAAEP,OAAO,EAAEQ;EACpB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["getViewInfo","element","reactViewName","__viewConfig","uiViewClassName","_viewConfig","__internalInstanceHandle","type","elementType","viewTag","__nativeTag"],"sourceRoot":"../../../src","sources":["createAnimatedComponent/getViewInfo.ts"],"mappings":"AAAA,YAAY;;AAIZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,WAAWA,CAACC,OAAqB,EAG/C;EACA,OAAO;IACLC,aAAa,EAAGD,OAAO,EAAEE,YAAY,EAAEC,eAAe;IACpD;IACAH,OAAO,EAAEI,WAAW,EAAED,eAAe,IACrCH,OAAO,EAAEK,wBAAwB,EAAEC,IAAI,IACvCN,OAAO,EAAEK,wBAAwB,EAAEE,WAAsB;IAC3DC,OAAO,EAAER,OAAO,EAAES;EACpB,CAAC;AACH","ignoreList":[]}
@@ -16,7 +16,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  export default class AnimatedComponent extends Component {
17
17
  _cssStyle = {}; // RN style object with Reanimated CSS properties
18
18
  _componentRef = null;
19
- _hasAnimatedRef = false;
20
19
  // Used only on web
21
20
  _componentDOMRef = null;
22
21
  _willUnmount = false;
@@ -95,7 +94,6 @@ export default class AnimatedComponent extends Component {
95
94
  // Component can specify ref which should be animated when animated version of the component is created.
96
95
  // Otherwise, we animate the component itself.
97
96
  if (componentRef && componentRef.getAnimatableRef) {
98
- this._hasAnimatedRef = true;
99
97
  return componentRef.getAnimatableRef();
100
98
  }
101
99
  // Case for SVG components on Web
@@ -1 +1 @@
1
- {"version":3,"names":["Component","Platform","StyleSheet","IS_JEST","SHOULD_BE_USE_WEB","getViewInfo","getShadowNodeWrapperFromRef","findHostInstance","markNodeAsRemovable","unmarkNodeAsRemovable","CSSManager","filterNonCSSStyleProps","jsx","_jsx","AnimatedComponent","_cssStyle","_componentRef","_hasAnimatedRef","_componentDOMRef","_willUnmount","constructor","ChildComponent","props","getComponentViewTag","_getViewInfo","viewTag","_onSetLocalRef","_viewInfo","undefined","shadowNodeWrapper","DOMElement","reactViewName","hostInstance","Error","viewInfo","_setComponentRef","ref","forwardedRef","current","_resolveComponentRef","componentRef","getAnimatableRef","elementRef","_updateStyles","flatten","style","componentDidMount","_CSSManager","displayName","update","componentWillUnmount","unmountCleanup","wrapper","shouldComponentUpdate","nextProps","render","platformProps","select","web","default","collapsable"],"sourceRoot":"../../../../src","sources":["css/component/AnimatedComponent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Component","Platform","StyleSheet","IS_JEST","SHOULD_BE_USE_WEB","getViewInfo","getShadowNodeWrapperFromRef","findHostInstance","markNodeAsRemovable","unmarkNodeAsRemovable","CSSManager","filterNonCSSStyleProps","jsx","_jsx","AnimatedComponent","_cssStyle","_componentRef","_componentDOMRef","_willUnmount","constructor","ChildComponent","props","getComponentViewTag","_getViewInfo","viewTag","_onSetLocalRef","_viewInfo","undefined","shadowNodeWrapper","DOMElement","reactViewName","hostInstance","Error","viewInfo","_setComponentRef","ref","forwardedRef","current","_resolveComponentRef","componentRef","getAnimatableRef","elementRef","_updateStyles","flatten","style","componentDidMount","_CSSManager","displayName","update","componentWillUnmount","unmountCleanup","wrapper","shouldComponentUpdate","nextProps","render","platformProps","select","web","default","collapsable"],"sourceRoot":"../../../../src","sources":["css/component/AnimatedComponent.tsx"],"mappings":"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","ignoreList":[]}
@@ -30,13 +30,13 @@ export default class CSSManager {
30
30
  const hasAnimation = animationProperties !== null;
31
31
  const hasTransition = transitionProperties !== null;
32
32
  const normalizedStyle = hasAnimation || hasTransition || IS_ANDROID && this.hadTransitionLastUpdate ? this.propsBuilder.build(filteredStyle) : undefined;
33
- if (normalizedStyle && (hasAnimation ||
34
- // We also need to update the current style on Android when the
35
- // transition is detached.
36
- IS_ANDROID && !hasTransition && this.hadTransitionLastUpdate)) {
33
+ const transitionDetached = this.cssTransitionsManager.update(transitionProperties, normalizedStyle ?? {});
34
+
35
+ // Record the committed style as the base so animations and (on Android) a
36
+ // detaching transition can revert to it instead of interpolator defaults.
37
+ if (normalizedStyle && (hasAnimation || IS_ANDROID && transitionDetached)) {
37
38
  setViewStyle(this.viewTag, normalizedStyle);
38
39
  }
39
- this.cssTransitionsManager.update(transitionProperties, normalizedStyle ?? {});
40
40
  this.cssAnimationsManager.update(animationProperties);
41
41
  this.hadTransitionLastUpdate = hasTransition;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getCompoundComponentName","getPropsBuilder","IS_ANDROID","filterCSSAndStyleProperties","setViewStyle","CSSAnimationsManager","CSSTransitionsManager","CSSManager","hadTransitionLastUpdate","constructor","shadowNodeWrapper","viewTag","reactViewName","componentDisplayName","tag","wrapper","compoundComponentName","propsBuilder","cssAnimationsManager","cssTransitionsManager","update","style","animationProperties","transitionProperties","filteredStyle","hasAnimation","hasTransition","normalizedStyle","build","undefined","unmountCleanup"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSManager.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,wBAAwB,EACxBC,eAAe,EACfC,UAAU,QACL,0BAAiB;AAKxB,SAASC,2BAA2B,QAAQ,sBAAa;AACzD,SAASC,YAAY,QAAQ,aAAU;AACvC,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,qBAAqB,MAAM,4BAAyB;AAE3D,eAAe,MAAMC,UAAU,CAAwB;EAKrD;AACF;AACA;AACA;AACA;AACA;EACUC,uBAAuB,GAAG,KAAK;EAEvCC,WAAWA,CACT;IAAEC,iBAAiB;IAAEC,OAAO;IAAEC,aAAa,GAAG;EAAoB,CAAC,EACnEC,oBAAoB,GAAG,EAAE,EACzB;IACA,MAAMC,GAAG,GAAI,IAAI,CAACH,OAAO,GAAGA,OAAkB;IAC9C,MAAMI,OAAO,GAAGL,iBAAsC;IAEtD,MAAMM,qBAAqB,GAAGhB,wBAAwB,CACpDY,aAAa,EACbC,oBACF,CAAC;IAED,IAAI,CAACI,YAAY,GAAGhB,eAAe,CAACe,qBAAqB,CAAC;IAC1D,IAAI,CAACE,oBAAoB,GAAG,IAAIb,oBAAoB,CAClDU,OAAO,EACPD,GAAG,EACHE,qBACF,CAAC;IACD,IAAI,CAACG,qBAAqB,GAAG,IAAIb,qBAAqB,CAACS,OAAO,EAAED,GAAG,CAAC;EACtE;EAEAM,MAAMA,CAACC,KAAe,EAAQ;IAC5B,MAAM,CAACC,mBAAmB,EAAEC,oBAAoB,EAAEC,aAAa,CAAC,GAC9DrB,2BAA2B,CAACkB,KAAK,CAAC;IAEpC,MAAMI,YAAY,GAAGH,mBAAmB,KAAK,IAAI;IACjD,MAAMI,aAAa,GAAGH,oBAAoB,KAAK,IAAI;IAEnD,MAAMI,eAAe,GACnBF,YAAY,IACZC,aAAa,IACZxB,UAAU,IAAI,IAAI,CAACM,uBAAwB,GACxC,IAAI,CAACS,YAAY,CAACW,KAAK,CAACJ,aAAa,CAAC,GACtCK,SAAS;IAEf,IACEF,eAAe,KACdF,YAAY;IACX;IACA;IACCvB,UAAU,IAAI,CAACwB,aAAa,IAAI,IAAI,CAAClB,uBAAwB,CAAC,EACjE;MACAJ,YAAY,CAAC,IAAI,CAACO,OAAO,EAAEgB,eAAe,CAAC;IAC7C;IAEA,IAAI,CAACR,qBAAqB,CAACC,MAAM,CAC/BG,oBAAoB,EACpBI,eAAe,IAAI,CAAC,CACtB,CAAC;IACD,IAAI,CAACT,oBAAoB,CAACE,MAAM,CAACE,mBAAmB,CAAC;IAErD,IAAI,CAACd,uBAAuB,GAAGkB,aAAa;EAC9C;EAEAI,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACZ,oBAAoB,CAACY,cAAc,CAAC,CAAC;IAC1C,IAAI,CAACX,qBAAqB,CAACW,cAAc,CAAC,CAAC;EAC7C;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getCompoundComponentName","getPropsBuilder","IS_ANDROID","filterCSSAndStyleProperties","setViewStyle","CSSAnimationsManager","CSSTransitionsManager","CSSManager","hadTransitionLastUpdate","constructor","shadowNodeWrapper","viewTag","reactViewName","componentDisplayName","tag","wrapper","compoundComponentName","propsBuilder","cssAnimationsManager","cssTransitionsManager","update","style","animationProperties","transitionProperties","filteredStyle","hasAnimation","hasTransition","normalizedStyle","build","undefined","transitionDetached","unmountCleanup"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSManager.ts"],"mappings":"AAAA,YAAY;;AACZ,SACEA,wBAAwB,EACxBC,eAAe,EACfC,UAAU,QACL,0BAAiB;AAKxB,SAASC,2BAA2B,QAAQ,sBAAa;AACzD,SAASC,YAAY,QAAQ,aAAU;AACvC,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,qBAAqB,MAAM,4BAAyB;AAE3D,eAAe,MAAMC,UAAU,CAAwB;EAKrD;AACF;AACA;AACA;AACA;AACA;EACUC,uBAAuB,GAAG,KAAK;EAEvCC,WAAWA,CACT;IAAEC,iBAAiB;IAAEC,OAAO;IAAEC,aAAa,GAAG;EAAoB,CAAC,EACnEC,oBAAoB,GAAG,EAAE,EACzB;IACA,MAAMC,GAAG,GAAI,IAAI,CAACH,OAAO,GAAGA,OAAkB;IAC9C,MAAMI,OAAO,GAAGL,iBAAsC;IAEtD,MAAMM,qBAAqB,GAAGhB,wBAAwB,CACpDY,aAAa,EACbC,oBACF,CAAC;IAED,IAAI,CAACI,YAAY,GAAGhB,eAAe,CAACe,qBAAqB,CAAC;IAC1D,IAAI,CAACE,oBAAoB,GAAG,IAAIb,oBAAoB,CAClDU,OAAO,EACPD,GAAG,EACHE,qBACF,CAAC;IACD,IAAI,CAACG,qBAAqB,GAAG,IAAIb,qBAAqB,CAACS,OAAO,EAAED,GAAG,CAAC;EACtE;EAEAM,MAAMA,CAACC,KAAe,EAAQ;IAC5B,MAAM,CAACC,mBAAmB,EAAEC,oBAAoB,EAAEC,aAAa,CAAC,GAC9DrB,2BAA2B,CAACkB,KAAK,CAAC;IAEpC,MAAMI,YAAY,GAAGH,mBAAmB,KAAK,IAAI;IACjD,MAAMI,aAAa,GAAGH,oBAAoB,KAAK,IAAI;IAEnD,MAAMI,eAAe,GACnBF,YAAY,IACZC,aAAa,IACZxB,UAAU,IAAI,IAAI,CAACM,uBAAwB,GACxC,IAAI,CAACS,YAAY,CAACW,KAAK,CAACJ,aAAa,CAAC,GACtCK,SAAS;IAEf,MAAMC,kBAAkB,GAAG,IAAI,CAACX,qBAAqB,CAACC,MAAM,CAC1DG,oBAAoB,EACpBI,eAAe,IAAI,CAAC,CACtB,CAAC;;IAED;IACA;IACA,IACEA,eAAe,KACdF,YAAY,IAAKvB,UAAU,IAAI4B,kBAAmB,CAAC,EACpD;MACA1B,YAAY,CAAC,IAAI,CAACO,OAAO,EAAEgB,eAAe,CAAC;IAC7C;IAEA,IAAI,CAACT,oBAAoB,CAACE,MAAM,CAACE,mBAAmB,CAAC;IAErD,IAAI,CAACd,uBAAuB,GAAGkB,aAAa;EAC9C;EAEAK,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACb,oBAAoB,CAACa,cAAc,CAAC,CAAC;IAC1C,IAAI,CAACZ,qBAAqB,CAACY,cAAc,CAAC,CAAC;EAC7C;AACF","ignoreList":[]}
@@ -15,6 +15,11 @@ export default class CSSTransitionsManager {
15
15
  this.viewTag = viewTag;
16
16
  this.shadowNodeWrapper = shadowNodeWrapper;
17
17
  }
18
+
19
+ /**
20
+ * @returns Whether this update detached a running transition (its props were
21
+ * removed, or normalized to an empty config, e.g. when duration is 0).
22
+ */
18
23
  update(transitionProperties, nextProps = {}) {
19
24
  const transitionConfig = transitionProperties && normalizeCSSTransitionProperties(transitionProperties);
20
25
  const prevProps = this.prevProps;
@@ -26,8 +31,9 @@ export default class CSSTransitionsManager {
26
31
  if (!prevProps || !transitionConfig) {
27
32
  if (this.hasTransition) {
28
33
  this.detach();
34
+ return true;
29
35
  }
30
- return;
36
+ return false;
31
37
  }
32
38
 
33
39
  // Trigger transition for changed properties only
@@ -36,6 +42,7 @@ export default class CSSTransitionsManager {
36
42
  runCSSTransition(this.shadowNodeWrapper, config);
37
43
  this.hasTransition = true;
38
44
  }
45
+ return false;
39
46
  }
40
47
  unmountCleanup() {
41
48
  // noop
@@ -1 +1 @@
1
- {"version":3,"names":["deepEqual","normalizeCSSTransitionProperties","runCSSTransition","unregisterCSSTransition","CSSTransitionsManager","prevProps","propsWithTransitions","Set","hasTransition","constructor","shadowNodeWrapper","viewTag","update","transitionProperties","nextProps","transitionConfig","detach","config","processTransitionConfig","Object","keys","length","unmountCleanup","clear","oldProps","newProps","newTransitionConfig","result","specificProperties","isAllowedProperty","property","has","getPropertySettings","settings","all","triggerTransition","value","add","key","delete"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSTransitionsManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["deepEqual","normalizeCSSTransitionProperties","runCSSTransition","unregisterCSSTransition","CSSTransitionsManager","prevProps","propsWithTransitions","Set","hasTransition","constructor","shadowNodeWrapper","viewTag","update","transitionProperties","nextProps","transitionConfig","detach","config","processTransitionConfig","Object","keys","length","unmountCleanup","clear","oldProps","newProps","newTransitionConfig","result","specificProperties","isAllowedProperty","property","has","getPropertySettings","settings","all","triggerTransition","value","add","key","delete"],"sourceRoot":"../../../../../src","sources":["css/native/managers/CSSTransitionsManager.ts"],"mappings":"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","ignoreList":[]}
@@ -9,16 +9,20 @@ export const processStrokeDashArray = value => {
9
9
  if (isLength(value)) {
10
10
  result = [value];
11
11
  } else if (Array.isArray(value)) {
12
- // We have to repeat the same pattern twice if the number of elements is odd
13
- // "If the number of values is odd, the pattern behaves as if it was duplicated
14
- // to yield an even number of values"
15
- // (https://www.w3.org/TR/fill-stroke-3/#valdef-stroke-dasharray-length-percentage)
16
- result = value.length % 2 === 0 || value.length < 3 ? value : value.concat(value);
12
+ result = [...value];
17
13
  } else if (value === 'none') {
18
14
  return 'none';
19
15
  } else {
20
16
  throw new Error(`[Reanimated] ${ERROR_MESSAGES.invalidDashArray(value)}`);
21
17
  }
18
+
19
+ // Per the SVG spec an odd-length dash array is repeated to an even length.
20
+ // react-native-svg's extractStroke does this, but animated values bypass it
21
+ // and an odd-length array crashes Android's DashPathEffect, so we repeat here.
22
+ // https://www.w3.org/TR/fill-stroke-3/#valdef-stroke-dasharray-length-percentage
23
+ if (result.length % 2 === 1) {
24
+ result = result.concat(result);
25
+ }
22
26
  if (__DEV__) {
23
27
  isValidDashArray(result);
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"names":["isLength","ERROR_MESSAGES","invalidDashArray","value","JSON","stringify","processStrokeDashArray","result","Array","isArray","length","concat","Error","__DEV__","isValidDashArray","every"],"sourceRoot":"../../../../../../src","sources":["css/svg/native/processors/stroke.ts"],"mappings":"AAAA,YAAY;;AAIZ,SAASA,QAAQ,QAAQ,yBAAgB;AAEzC,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAGC,KAAc,IAC/B,oCAAoCC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMG,sBAGZ,GAAIH,KAAK,IAAK;EACb,IAAII,MAAoB,GAAG,EAAE;EAE7B,IAAIP,QAAQ,CAACG,KAAK,CAAC,EAAE;IACnBI,MAAM,GAAG,CAACJ,KAAK,CAAC;EAClB,CAAC,MAAM,IAAIK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IAC/B;IACA;IACA;IACA;IACAI,MAAM,GACJJ,KAAK,CAACO,MAAM,GAAG,CAAC,KAAK,CAAC,IAAIP,KAAK,CAACO,MAAM,GAAG,CAAC,GAAGP,KAAK,GAAGA,KAAK,CAACQ,MAAM,CAACR,KAAK,CAAC;EAC5E,CAAC,MAAM,IAAIA,KAAK,KAAK,MAAM,EAAE;IAC3B,OAAO,MAAM;EACf,CAAC,MAAM;IACL,MAAM,IAAIS,KAAK,CAAC,gBAAgBX,cAAc,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,CAAC;EAC3E;EAEA,IAAIU,OAAO,EAAE;IACXC,gBAAgB,CAACP,MAAM,CAAC;EAC1B;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,MAAMO,gBAAgB,GAAIX,KAAmB,IAAK;EAChD,IAAI,CAACA,KAAK,CAACY,KAAK,CAACf,QAAQ,CAAC,EAAE;IAC1B,MAAM,IAAIY,KAAK,CAAC,gBAAgBX,cAAc,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,CAAC;EAC3E;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isLength","ERROR_MESSAGES","invalidDashArray","value","JSON","stringify","processStrokeDashArray","result","Array","isArray","Error","length","concat","__DEV__","isValidDashArray","every"],"sourceRoot":"../../../../../../src","sources":["css/svg/native/processors/stroke.ts"],"mappings":"AAAA,YAAY;;AAIZ,SAASA,QAAQ,QAAQ,yBAAgB;AAEzC,OAAO,MAAMC,cAAc,GAAG;EAC5BC,gBAAgB,EAAGC,KAAc,IAC/B,oCAAoCC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMG,sBAGZ,GAAIH,KAAK,IAAK;EACb,IAAII,MAAoB,GAAG,EAAE;EAE7B,IAAIP,QAAQ,CAACG,KAAK,CAAC,EAAE;IACnBI,MAAM,GAAG,CAACJ,KAAK,CAAC;EAClB,CAAC,MAAM,IAAIK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IAC/BI,MAAM,GAAG,CAAC,GAAGJ,KAAK,CAAC;EACrB,CAAC,MAAM,IAAIA,KAAK,KAAK,MAAM,EAAE;IAC3B,OAAO,MAAM;EACf,CAAC,MAAM;IACL,MAAM,IAAIO,KAAK,CAAC,gBAAgBT,cAAc,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,CAAC;EAC3E;;EAEA;EACA;EACA;EACA;EACA,IAAII,MAAM,CAACI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IAC3BJ,MAAM,GAAGA,MAAM,CAACK,MAAM,CAACL,MAAM,CAAC;EAChC;EAEA,IAAIM,OAAO,EAAE;IACXC,gBAAgB,CAACP,MAAM,CAAC;EAC1B;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,MAAMO,gBAAgB,GAAIX,KAAmB,IAAK;EAChD,IAAI,CAACA,KAAK,CAACY,KAAK,CAACf,QAAQ,CAAC,EAAE;IAC1B,MAAM,IAAIU,KAAK,CAAC,gBAAgBT,cAAc,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,CAAC;EAC3E;AACF,CAAC","ignoreList":[]}
@@ -5,9 +5,12 @@ import { assertEasingIsWorklet } from "../../animation/util.js";
5
5
  import { BaseAnimationBuilder } from "./BaseAnimationBuilder.js";
6
6
 
7
7
  /**
8
- * `this` type for static methods on {@link AnimationConfigBuilder}. Represents a
9
- * subclass constructor exposing the shared config-only static API inherited
10
- * from {@link BaseAnimationBuilder}.
8
+ * `this` constraint for static modifiers on {@link AnimationConfigBuilder}.
9
+ * Represents a subclass constructor exposing the shared config-only static API
10
+ * inherited from {@link BaseAnimationBuilder}. The modifiers bind `this` to a
11
+ * concrete subtype of this so the chain preserves the receiver's instance type
12
+ * (e.g. `SharedTransition.springify(...)` stays a `SharedTransition`) instead
13
+ * of collapsing to `AnimationConfigBuilder`.
11
14
  */
12
15
 
13
16
  export class AnimationConfigBuilder extends BaseAnimationBuilder {
@@ -1 +1 @@
1
- {"version":3,"names":["withSpring","withTiming","assertEasingIsWorklet","BaseAnimationBuilder","AnimationConfigBuilder","easing","easingFunction","instance","createInstance","__DEV__","easingV","rotate","degree","rotateV","springify","duration","durationV","type","dampingRatio","value","dampingRatioV","damping","dampingV","mass","massV","stiffness","stiffnessV","overshootClamping","overshootClampingV","restDisplacementThreshold","_restDisplacementThreshold","restSpeedThreshold","_restSpeedThreshold","energyThreshold","energyThresholdV","getAnimationAndConfig","animation","config","maybeSetConfigValue","variableName","forEach","ComplexAnimationBuilder","withInitialValues","values","initialValues","withTargetValues","targetValues"],"sourceRoot":"../../../../src","sources":["layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,UAAU,EAAEC,UAAU,QAAQ,0BAAiB;AACxD,SAASC,qBAAqB,QAAQ,yBAAsB;AAS5D,SAASC,oBAAoB,QAAQ,2BAAwB;;AAE7D;AACA;AACA;AACA;AACA;;AAIA,OAAO,MAAMC,sBAAsB,SAASD,oBAAoB,CAAC;EAc/D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,MAAMA,CAEXC,cAAsD,EAC9B;IACxB,MAAMC,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACF,MAAM,CAACC,cAAc,CAAC;EACxC;EAEAD,MAAMA,CAACC,cAAsD,EAAQ;IACnE,IAAIG,OAAO,EAAE;MACXP,qBAAqB,CAACI,cAAc,CAAC;IACvC;IACA,IAAI,CAACI,OAAO,GAAGJ,cAAc;IAC7B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOK,MAAMA,CAEXC,MAAc,EACU;IACxB,MAAML,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACI,MAAM,CAACC,MAAM,CAAC;EAChC;EAEAD,MAAMA,CAACC,MAAc,EAAQ;IAC3B,IAAI,CAACC,OAAO,GAAGD,MAAM;IACrB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,SAASA,CAEdC,QAAiB,EACO;IACxB,MAAMR,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACO,SAAS,CAACC,QAAQ,CAAC;EACrC;EAEAD,SAASA,CAACC,QAAiB,EAAQ;IACjC,IAAI,CAACC,SAAS,GAAGD,QAAQ;IACzB,IAAI,CAACE,IAAI,GAAGjB,UAA+B;IAC3C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOkB,YAAYA,CAEjBA,YAAoB,EACI;IACxB,MAAMX,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACW,YAAY,CAACA,YAAY,CAAC;EAC5C;EAEAA,YAAYA,CAACC,KAAa,EAAQ;IAChC,IAAI,CAACC,aAAa,GAAGD,KAAK;IAC1B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,OAAOA,CAEZF,KAAa,EACW;IACxB,MAAMZ,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACc,OAAO,CAACF,KAAK,CAAC;EAChC;EAEAE,OAAOA,CAACA,OAAe,EAAQ;IAC7B,IAAI,CAACC,QAAQ,GAAGD,OAAO;IACvB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,IAAIA,CAETA,IAAY,EACY;IACxB,MAAMhB,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACgB,IAAI,CAACA,IAAI,CAAC;EAC5B;EAEAA,IAAIA,CAACA,IAAY,EAAQ;IACvB,IAAI,CAACC,KAAK,GAAGD,IAAI;IACjB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,SAASA,CAEdA,SAAiB,EACO;IACxB,MAAMlB,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACkB,SAAS,CAACA,SAAS,CAAC;EACtC;EAEAA,SAASA,CAACA,SAAiB,EAAQ;IACjC,IAAI,CAACC,UAAU,GAAGD,SAAS;IAC3B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,iBAAiBA,CAEtBA,iBAAyB,EACD;IACxB,MAAMpB,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACoB,iBAAiB,CAACA,iBAAiB,CAAC;EACtD;EAEAA,iBAAiBA,CAACA,iBAAyB,EAAQ;IACjD,IAAI,CAACC,kBAAkB,GAAGD,iBAAiB;IAC3C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACE,OAAOE,yBAAyBA,CAE9BC,0BAAkC,EACV;IACxB,OAAO,IAAI,CAACtB,cAAc,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;EACEqB,yBAAyBA,CAACC,0BAAkC,EAAE;IAC5D,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACE,OAAOC,kBAAkBA,CAEvBC,mBAA2B,EACH;IACxB,OAAO,IAAI,CAACxB,cAAc,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;EACEuB,kBAAkBA,CAACC,mBAA2B,EAAQ;IACpD,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,eAAeA,CAEpBA,eAAuB,EACC;IACxB,MAAM1B,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAAC0B,eAAe,CAACA,eAAe,CAAC;EAClD;EAEAA,eAAeA,CAACA,eAAuB,EAAQ;IAC7C,IAAI,CAACC,gBAAgB,GAAGD,eAAe;IACvC,OAAO,IAAI;EACb;EAEAE,qBAAqBA,CAAA,EAA6B;IAChD,MAAMpB,QAAQ,GAAG,IAAI,CAACC,SAAS;IAC/B,MAAMX,MAAM,GAAG,IAAI,CAACK,OAAO;IAC3B,MAAMC,MAAM,GAAG,IAAI,CAACE,OAAO;IAC3B,MAAMI,IAAI,GAAG,IAAI,CAACA,IAAI,GAAG,IAAI,CAACA,IAAI,GAAIhB,UAAgC;IACtE,MAAMoB,OAAO,GAAG,IAAI,CAACC,QAAQ;IAC7B,MAAMJ,YAAY,GAAG,IAAI,CAACE,aAAa;IACvC,MAAMG,IAAI,GAAG,IAAI,CAACC,KAAK;IACvB,MAAMC,SAAS,GAAG,IAAI,CAACC,UAAU;IACjC,MAAMC,iBAAiB,GAAG,IAAI,CAACC,kBAAkB;IACjD,MAAMK,eAAe,GAAG,IAAI,CAACC,gBAAgB;IAE7C,MAAME,SAAS,GAAGnB,IAAI;IAEtB,MAAMoB,MAAkC,GAAG,CAAC,CAAC;IAE7C,SAASC,mBAAmBA,CAC1BnB,KAAsC,EACtCoB,YAAiB,EACjB;MACA,IAAIpB,KAAK,EAAE;QACTkB,MAAM,CAACE,YAAY,CAAC,GAAGpB,KAAK;MAC9B;IACF;IAEA,IAAIF,IAAI,KAAKhB,UAAU,EAAE;MACvBqC,mBAAmB,CAACjC,MAAM,EAAE,QAAQ,CAAC;IACvC;IAGE,CACE;MAAEkC,YAAY,EAAE,SAAS;MAAEpB,KAAK,EAAEE;IAAQ,CAAC,EAC3C;MAAEkB,YAAY,EAAE,cAAc;MAAEpB,KAAK,EAAED;IAAa,CAAC,EACrD;MAAEqB,YAAY,EAAE,MAAM;MAAEpB,KAAK,EAAEI;IAAK,CAAC,EACrC;MAAEgB,YAAY,EAAE,WAAW;MAAEpB,KAAK,EAAEM;IAAU,CAAC,EAC/C;MAAEc,YAAY,EAAE,mBAAmB;MAAEpB,KAAK,EAAEQ;IAAkB,CAAC,EAC/D;MAAEY,YAAY,EAAE,iBAAiB;MAAEpB,KAAK,EAAEc;IAAgB,CAAC,EAC3D;MAAEM,YAAY,EAAE,UAAU;MAAEpB,KAAK,EAAEJ;IAAS,CAAC,EAC7C;MAAEwB,YAAY,EAAE,QAAQ;MAAEpB,KAAK,EAAER;IAAO,CAAC,CAC1C,CACD6B,OAAO,CAAC,CAAC;MAAErB,KAAK;MAAEoB;IAAa,CAAC,KAChCD,mBAAmB,CAACnB,KAAK,EAAEoB,YAAY,CACzC,CAAC;IAED,OAAO,CAACH,SAAS,EAAEC,MAAM,CAAC;EAC5B;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAIA,OAAO,MAAMI,uBAAuB,SAE1BrC,sBAAsB,CAAC;EAI/B;AACF;AACA;AACA;AACA;EACE,OAAOsC,iBAAiBA,CAEtBC,MAAwB,EACU;IAClC,MAAMpC,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACmC,iBAAiB,CAACC,MAAM,CAAC;EAC3C;EAEAD,iBAAiBA,CAACC,MAAwB,EAAQ;IAChD,IAAI,CAACC,aAAa,GAAGD,MAAM;IAC3B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOE,gBAAgBA,CAErBF,MAAwB,EACU;IAClC,MAAMpC,QAAQ,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IACtC,OAAOD,QAAQ,CAACsC,gBAAgB,CAACF,MAAM,CAAC;EAC1C;EAEAE,gBAAgBA,CAACF,MAAwB,EAAQ;IAC/C,IAAI,CAACG,YAAY,GAAGH,MAAM;IAC1B,OAAO,IAAI;EACb;AACF","ignoreList":[]}
1
+ {"version":3,"names":["withSpring","withTiming","assertEasingIsWorklet","BaseAnimationBuilder","AnimationConfigBuilder","easing","easingFunction","instance","createInstance","__DEV__","easingV","rotate","degree","rotateV","springify","duration","durationV","type","dampingRatio","value","dampingRatioV","damping","dampingV","mass","massV","stiffness","stiffnessV","overshootClamping","overshootClampingV","restDisplacementThreshold","_restDisplacementThreshold","restSpeedThreshold","_restSpeedThreshold","energyThreshold","energyThresholdV","getAnimationAndConfig","animation","config","maybeSetConfigValue","variableName","forEach","ComplexAnimationBuilder","withInitialValues","values","initialValues","withTargetValues","targetValues"],"sourceRoot":"../../../../src","sources":["layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts"],"mappings":"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","ignoreList":[]}