@react-native-ohos/react-native-reanimated 4.0.1 → 4.0.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 (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +62 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -94
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -45
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -111
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1380
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -230
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +246 -233
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +62 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -69
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -84
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,49 +1,49 @@
1
- #pragma once
2
-
3
- #include <reanimated/Fabric/updates/UpdatesRegistryManager.h>
4
- #include <reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h>
5
-
6
- #include <react/renderer/uimanager/UIManagerCommitHook.h>
7
-
8
- #include <memory>
9
-
10
- using namespace facebook::react;
11
-
12
- namespace reanimated {
13
-
14
- class ReanimatedCommitHook : public UIManagerCommitHook, public std::enable_shared_from_this<ReanimatedCommitHook> {
15
- public:
16
- ReanimatedCommitHook(
17
- const std::shared_ptr<UIManager> &uiManager,
18
- const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
19
- const std::shared_ptr<LayoutAnimationsProxyCommon> &layoutAnimationsProxy);
20
-
21
- ~ReanimatedCommitHook() noexcept override;
22
-
23
- void commitHookWasRegistered(UIManager const &) noexcept override {}
24
-
25
- void commitHookWasUnregistered(UIManager const &) noexcept override {}
26
-
27
- void maybeInitializeLayoutAnimations(SurfaceId surfaceId);
28
-
29
- RootShadowNode::Unshared shadowTreeWillCommit(
30
- ShadowTree const &shadowTree,
31
- RootShadowNode::Shared const &oldRootShadowNode,
32
- RootShadowNode::Unshared const &newRootShadowNode
33
- #if REACT_NATIVE_MINOR_VERSION >= 80
34
- ,
35
- const ShadowTreeCommitOptions &commitOptions
36
- #endif
37
- ) noexcept override;
38
-
39
- private:
40
- std::shared_ptr<UIManager> uiManager_;
41
- std::shared_ptr<UpdatesRegistryManager> updatesRegistryManager_;
42
- std::shared_ptr<LayoutAnimationsProxyCommon> layoutAnimationsProxy_;
43
-
44
- SurfaceId currentMaxSurfaceId_ = -1;
45
-
46
- std::mutex mutex_; // Protects `currentMaxSurfaceId_`.
47
- };
48
-
49
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <reanimated/Fabric/updates/UpdatesRegistryManager.h>
4
+ #include <reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h>
5
+
6
+ #include <react/renderer/uimanager/UIManagerCommitHook.h>
7
+
8
+ #include <memory>
9
+
10
+ using namespace facebook::react;
11
+
12
+ namespace reanimated {
13
+
14
+ class ReanimatedCommitHook : public UIManagerCommitHook, public std::enable_shared_from_this<ReanimatedCommitHook> {
15
+ public:
16
+ ReanimatedCommitHook(
17
+ const std::shared_ptr<UIManager> &uiManager,
18
+ const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
19
+ const std::shared_ptr<LayoutAnimationsProxyCommon> &layoutAnimationsProxy);
20
+
21
+ ~ReanimatedCommitHook() noexcept override;
22
+
23
+ void commitHookWasRegistered(UIManager const &) noexcept override {}
24
+
25
+ void commitHookWasUnregistered(UIManager const &) noexcept override {}
26
+
27
+ void maybeInitializeLayoutAnimations(SurfaceId surfaceId);
28
+
29
+ RootShadowNode::Unshared shadowTreeWillCommit(
30
+ ShadowTree const &shadowTree,
31
+ RootShadowNode::Shared const &oldRootShadowNode,
32
+ RootShadowNode::Unshared const &newRootShadowNode
33
+ #if REACT_NATIVE_MINOR_VERSION >= 80
34
+ ,
35
+ const ShadowTreeCommitOptions &commitOptions
36
+ #endif
37
+ ) noexcept override;
38
+
39
+ private:
40
+ std::shared_ptr<UIManager> uiManager_;
41
+ std::shared_ptr<UpdatesRegistryManager> updatesRegistryManager_;
42
+ std::shared_ptr<LayoutAnimationsProxyCommon> layoutAnimationsProxy_;
43
+
44
+ SurfaceId currentMaxSurfaceId_ = -1;
45
+
46
+ std::mutex mutex_; // Protects `currentMaxSurfaceId_`.
47
+ };
48
+
49
+ } // namespace reanimated
@@ -1,46 +1,46 @@
1
- #pragma once
2
-
3
- #include <react/renderer/core/ShadowNode.h>
4
-
5
- using namespace facebook::react;
6
-
7
- namespace reanimated {
8
-
9
- // We use this trait to mark that a commit was created by Reanimated.
10
- // Traits are copied when nodes are cloned, so this information
11
- // won't be lost unless someone explicitly overrides it.
12
- // We need this information to skip unnecessary updates in
13
- // the commit hook.
14
- // Currently RN traits go up to 10, so hopefully
15
- // the arbitrarily chosen numbers 27 and 28 will be safe :)
16
-
17
- // We have to use 2 traits, because we want to distinguish reanimated
18
- // commits both in the commit hook and mount hook. If we only had one trait
19
- // and didn't remove it in the commit hook, then any node that would clone
20
- // this node would also have our commit trait, rendering this trait useless.
21
- constexpr ShadowNodeTraits::Trait ReanimatedCommitTrait{1 << 27};
22
- constexpr ShadowNodeTraits::Trait ReanimatedMountTrait{1 << 28};
23
-
24
- class ReanimatedCommitShadowNode : public ShadowNode {
25
- public:
26
- inline void setReanimatedCommitTrait() {
27
- traits_.set(ReanimatedCommitTrait);
28
- }
29
- inline void unsetReanimatedCommitTrait() {
30
- traits_.unset(ReanimatedCommitTrait);
31
- }
32
- inline bool hasReanimatedCommitTrait() {
33
- return traits_.check(ReanimatedCommitTrait);
34
- }
35
- inline void setReanimatedMountTrait() {
36
- traits_.set(ReanimatedMountTrait);
37
- }
38
- inline void unsetReanimatedMountTrait() {
39
- traits_.unset(ReanimatedMountTrait);
40
- }
41
- inline bool hasReanimatedMountTrait() {
42
- return traits_.check(ReanimatedMountTrait);
43
- }
44
- };
45
-
46
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <react/renderer/core/ShadowNode.h>
4
+
5
+ using namespace facebook::react;
6
+
7
+ namespace reanimated {
8
+
9
+ // We use this trait to mark that a commit was created by Reanimated.
10
+ // Traits are copied when nodes are cloned, so this information
11
+ // won't be lost unless someone explicitly overrides it.
12
+ // We need this information to skip unnecessary updates in
13
+ // the commit hook.
14
+ // Currently RN traits go up to 10, so hopefully
15
+ // the arbitrarily chosen numbers 27 and 28 will be safe :)
16
+
17
+ // We have to use 2 traits, because we want to distinguish reanimated
18
+ // commits both in the commit hook and mount hook. If we only had one trait
19
+ // and didn't remove it in the commit hook, then any node that would clone
20
+ // this node would also have our commit trait, rendering this trait useless.
21
+ constexpr ShadowNodeTraits::Trait ReanimatedCommitTrait{1 << 27};
22
+ constexpr ShadowNodeTraits::Trait ReanimatedMountTrait{1 << 28};
23
+
24
+ class ReanimatedCommitShadowNode : public ShadowNode {
25
+ public:
26
+ inline void setReanimatedCommitTrait() {
27
+ traits_.set(ReanimatedCommitTrait);
28
+ }
29
+ inline void unsetReanimatedCommitTrait() {
30
+ traits_.unset(ReanimatedCommitTrait);
31
+ }
32
+ inline bool hasReanimatedCommitTrait() {
33
+ return traits_.check(ReanimatedCommitTrait);
34
+ }
35
+ inline void setReanimatedMountTrait() {
36
+ traits_.set(ReanimatedMountTrait);
37
+ }
38
+ inline void unsetReanimatedMountTrait() {
39
+ traits_.unset(ReanimatedMountTrait);
40
+ }
41
+ inline bool hasReanimatedMountTrait() {
42
+ return traits_.check(ReanimatedMountTrait);
43
+ }
44
+ };
45
+
46
+ } // namespace reanimated
@@ -1,56 +1,56 @@
1
- #include <reanimated/Fabric/ReanimatedCommitShadowNode.h>
2
- #include <reanimated/Fabric/ReanimatedMountHook.h>
3
- #include <reanimated/Tools/ReanimatedSystraceSection.h>
4
-
5
- #include <memory>
6
-
7
- namespace reanimated {
8
-
9
- ReanimatedMountHook::ReanimatedMountHook(
10
- const std::shared_ptr<UIManager> &uiManager,
11
- const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
12
- const std::function<void()> &requestFlush)
13
- : uiManager_(uiManager), updatesRegistryManager_(updatesRegistryManager), requestFlush_(requestFlush) {
14
- uiManager_->registerMountHook(*this);
15
- }
16
-
17
- ReanimatedMountHook::~ReanimatedMountHook() noexcept {
18
- uiManager_->unregisterMountHook(*this);
19
- }
20
-
21
- void ReanimatedMountHook::shadowTreeDidMount(
22
- const RootShadowNode::Shared &rootShadowNode,
23
- #if REACT_NATIVE_MINOR_VERSION >= 81
24
- HighResTimeStamp
25
- #else
26
- double
27
- #endif // REACT_NATIVE_MINOR_VERSION >= 81
28
- ) noexcept {
29
- ReanimatedSystraceSection s("ReanimatedMountHook::shadowTreeDidMount");
30
-
31
- auto reaShadowNode = std::reinterpret_pointer_cast<ReanimatedCommitShadowNode>(
32
- std::const_pointer_cast<RootShadowNode>(rootShadowNode));
33
-
34
- if (reaShadowNode->hasReanimatedMountTrait()) {
35
- // We mark reanimated commits with ReanimatedMountTrait. We don't want other
36
- // shadow nodes to use this trait, but since this rootShadowNode is Shared,
37
- // we don't have that guarantee. That's why we also unset this trait in the
38
- // commit hook. We remove it here mainly for the sake of cleanliness.
39
- reaShadowNode->unsetReanimatedMountTrait();
40
- return;
41
- }
42
-
43
- {
44
- auto lock = updatesRegistryManager_->lock();
45
- updatesRegistryManager_->handleNodeRemovals(*rootShadowNode);
46
-
47
- // When commit from React Native has finished, we reset the skip commit flag
48
- // in order to allow Reanimated to commit its tree
49
- updatesRegistryManager_->unpauseReanimatedCommits();
50
- if (updatesRegistryManager_->shouldCommitAfterPause()) {
51
- requestFlush_();
52
- }
53
- }
54
- }
55
-
56
- } // namespace reanimated
1
+ #include <reanimated/Fabric/ReanimatedCommitShadowNode.h>
2
+ #include <reanimated/Fabric/ReanimatedMountHook.h>
3
+ #include <reanimated/Tools/ReanimatedSystraceSection.h>
4
+
5
+ #include <memory>
6
+
7
+ namespace reanimated {
8
+
9
+ ReanimatedMountHook::ReanimatedMountHook(
10
+ const std::shared_ptr<UIManager> &uiManager,
11
+ const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
12
+ const std::function<void()> &requestFlush)
13
+ : uiManager_(uiManager), updatesRegistryManager_(updatesRegistryManager), requestFlush_(requestFlush) {
14
+ uiManager_->registerMountHook(*this);
15
+ }
16
+
17
+ ReanimatedMountHook::~ReanimatedMountHook() noexcept {
18
+ uiManager_->unregisterMountHook(*this);
19
+ }
20
+
21
+ void ReanimatedMountHook::shadowTreeDidMount(
22
+ const RootShadowNode::Shared &rootShadowNode,
23
+ #if REACT_NATIVE_MINOR_VERSION >= 81
24
+ HighResTimeStamp
25
+ #else
26
+ double
27
+ #endif // REACT_NATIVE_MINOR_VERSION >= 81
28
+ ) noexcept {
29
+ ReanimatedSystraceSection s("ReanimatedMountHook::shadowTreeDidMount");
30
+
31
+ auto reaShadowNode = std::reinterpret_pointer_cast<ReanimatedCommitShadowNode>(
32
+ std::const_pointer_cast<RootShadowNode>(rootShadowNode));
33
+
34
+ if (reaShadowNode->hasReanimatedMountTrait()) {
35
+ // We mark reanimated commits with ReanimatedMountTrait. We don't want other
36
+ // shadow nodes to use this trait, but since this rootShadowNode is Shared,
37
+ // we don't have that guarantee. That's why we also unset this trait in the
38
+ // commit hook. We remove it here mainly for the sake of cleanliness.
39
+ reaShadowNode->unsetReanimatedMountTrait();
40
+ return;
41
+ }
42
+
43
+ {
44
+ auto lock = updatesRegistryManager_->lock();
45
+ updatesRegistryManager_->handleNodeRemovals(*rootShadowNode);
46
+
47
+ // When commit from React Native has finished, we reset the skip commit flag
48
+ // in order to allow Reanimated to commit its tree
49
+ updatesRegistryManager_->unpauseReanimatedCommits();
50
+ if (updatesRegistryManager_->shouldCommitAfterPause()) {
51
+ requestFlush_();
52
+ }
53
+ }
54
+ }
55
+
56
+ } // namespace reanimated
@@ -1,37 +1,37 @@
1
- #pragma once
2
-
3
- #include <reanimated/Fabric/ShadowTreeCloner.h>
4
- #include <reanimated/Fabric/updates/UpdatesRegistryManager.h>
5
-
6
- #include <react/renderer/uimanager/UIManagerMountHook.h>
7
-
8
- #include <memory>
9
-
10
- namespace reanimated {
11
-
12
- using namespace facebook::react;
13
-
14
- class ReanimatedMountHook : public UIManagerMountHook {
15
- public:
16
- ReanimatedMountHook(
17
- const std::shared_ptr<UIManager> &uiManager,
18
- const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
19
- const std::function<void()> &requestFlush);
20
- ~ReanimatedMountHook() noexcept override;
21
-
22
- void shadowTreeDidMount(
23
- RootShadowNode::Shared const &rootShadowNode,
24
- #if REACT_NATIVE_MINOR_VERSION >= 81
25
- HighResTimeStamp mountTime
26
- #else
27
- double mountTime
28
- #endif // REACT_NATIVE_MINOR_VERSION >= 81
29
- ) noexcept override;
30
-
31
- private:
32
- const std::shared_ptr<UIManager> uiManager_;
33
- const std::shared_ptr<UpdatesRegistryManager> updatesRegistryManager_;
34
- const std::function<void()> requestFlush_;
35
- };
36
-
37
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <reanimated/Fabric/ShadowTreeCloner.h>
4
+ #include <reanimated/Fabric/updates/UpdatesRegistryManager.h>
5
+
6
+ #include <react/renderer/uimanager/UIManagerMountHook.h>
7
+
8
+ #include <memory>
9
+
10
+ namespace reanimated {
11
+
12
+ using namespace facebook::react;
13
+
14
+ class ReanimatedMountHook : public UIManagerMountHook {
15
+ public:
16
+ ReanimatedMountHook(
17
+ const std::shared_ptr<UIManager> &uiManager,
18
+ const std::shared_ptr<UpdatesRegistryManager> &updatesRegistryManager,
19
+ const std::function<void()> &requestFlush);
20
+ ~ReanimatedMountHook() noexcept override;
21
+
22
+ void shadowTreeDidMount(
23
+ RootShadowNode::Shared const &rootShadowNode,
24
+ #if REACT_NATIVE_MINOR_VERSION >= 81
25
+ HighResTimeStamp mountTime
26
+ #else
27
+ double mountTime
28
+ #endif // REACT_NATIVE_MINOR_VERSION >= 81
29
+ ) noexcept override;
30
+
31
+ private:
32
+ const std::shared_ptr<UIManager> uiManager_;
33
+ const std::shared_ptr<UpdatesRegistryManager> updatesRegistryManager_;
34
+ const std::function<void()> requestFlush_;
35
+ };
36
+
37
+ } // namespace reanimated
@@ -1,104 +1,104 @@
1
- #include <reanimated/Fabric/ShadowTreeCloner.h>
2
- #include <reanimated/Tools/ReanimatedSystraceSection.h>
3
-
4
- #include <memory>
5
- #include <ranges>
6
- #include <utility>
7
-
8
- namespace reanimated {
9
-
10
- Props::Shared mergeProps(const ShadowNode &shadowNode, const PropsMap &propsMap, const ShadowNodeFamily &family) {
11
- ReanimatedSystraceSection s("ShadowTreeCloner::mergeProps");
12
-
13
- const auto it = propsMap.find(&family);
14
-
15
- if (it == propsMap.end()) {
16
- return ShadowNodeFragment::propsPlaceholder();
17
- }
18
-
19
- PropsParserContext propsParserContext{shadowNode.getSurfaceId(), *shadowNode.getContextContainer()};
20
- const auto &propsVector = it->second;
21
- auto newProps = shadowNode.getProps();
22
-
23
- #ifdef ANDROID
24
- if (propsVector.size() > 1) {
25
- folly::dynamic newPropsDynamic = folly::dynamic::object;
26
- for (const auto &props : propsVector) {
27
- newPropsDynamic = folly::dynamic::merge(props.operator folly::dynamic(), newPropsDynamic);
28
- }
29
- return shadowNode.getComponentDescriptor().cloneProps(propsParserContext, newProps, RawProps(newPropsDynamic));
30
- }
31
- #endif
32
-
33
- for (const auto &props : propsVector) {
34
- newProps = shadowNode.getComponentDescriptor().cloneProps(propsParserContext, newProps, RawProps(props));
35
- }
36
-
37
- return newProps;
38
- }
39
-
40
- std::shared_ptr<ShadowNode> cloneShadowTreeWithNewPropsRecursive(
41
- const ShadowNode &shadowNode,
42
- const ChildrenMap &childrenMap,
43
- const PropsMap &propsMap) {
44
- const auto family = &shadowNode.getFamily();
45
- const auto affectedChildrenIt = childrenMap.find(family);
46
- auto children = shadowNode.getChildren();
47
-
48
- if (affectedChildrenIt != childrenMap.end()) {
49
- for (const auto index : affectedChildrenIt->second) {
50
- children[index] = cloneShadowTreeWithNewPropsRecursive(*children[index], childrenMap, propsMap);
51
- }
52
- }
53
-
54
- return shadowNode.clone(
55
- {mergeProps(shadowNode, propsMap, *family),
56
- std::make_shared<std::vector<std::shared_ptr<const ShadowNode>>>(children),
57
- shadowNode.getState(),
58
- false});
59
- }
60
-
61
- RootShadowNode::Unshared cloneShadowTreeWithNewProps(const RootShadowNode &oldRootNode, const PropsMap &propsMap) {
62
- ReanimatedSystraceSection s("ShadowTreeCloner::cloneShadowTreeWithNewProps");
63
-
64
- ChildrenMap childrenMap;
65
-
66
- {
67
- ReanimatedSystraceSection s("ShadowTreeCloner::prepareChildrenMap");
68
-
69
- for (auto &[family, _] : propsMap) {
70
- const auto ancestors = family->getAncestors(oldRootNode);
71
-
72
- // for (const auto &[parentNode, index] : std::ranges::reverse_view(ancestors)) {
73
- // const auto parentFamily = &parentNode.get().getFamily();
74
- // auto &affectedChildren = childrenMap[parentFamily];
75
- //
76
- // if (affectedChildren.contains(index)) {
77
- // continue;
78
- // }
79
- //
80
- // affectedChildren.insert(index);
81
- // }
82
- //TODO
83
- for (auto it = ancestors.rbegin(); it != ancestors.rend(); ++it) {
84
- const auto &[parentNode, index] = *it;
85
-
86
- const auto parentFamily = &parentNode.get().getFamily();
87
- auto &affectedChildren = childrenMap[parentFamily];
88
-
89
- if (affectedChildren.find(index) != affectedChildren.end()) {
90
- continue;
91
- }
92
-
93
- affectedChildren.insert(index);
94
- }
95
- }
96
- }
97
-
98
- // This cast is safe, because this function returns a clone
99
- // of the oldRootNode, which is an instance of RootShadowNode
100
- return std::static_pointer_cast<RootShadowNode>(
101
- cloneShadowTreeWithNewPropsRecursive(oldRootNode, childrenMap, propsMap));
102
- }
103
-
104
- } // namespace reanimated
1
+ #include <reanimated/Fabric/ShadowTreeCloner.h>
2
+ #include <reanimated/Tools/ReanimatedSystraceSection.h>
3
+
4
+ #include <memory>
5
+ #include <ranges>
6
+ #include <utility>
7
+
8
+ namespace reanimated {
9
+
10
+ Props::Shared mergeProps(const ShadowNode &shadowNode, const PropsMap &propsMap, const ShadowNodeFamily &family) {
11
+ ReanimatedSystraceSection s("ShadowTreeCloner::mergeProps");
12
+
13
+ const auto it = propsMap.find(&family);
14
+
15
+ if (it == propsMap.end()) {
16
+ return ShadowNodeFragment::propsPlaceholder();
17
+ }
18
+
19
+ PropsParserContext propsParserContext{shadowNode.getSurfaceId(), *shadowNode.getContextContainer()};
20
+ const auto &propsVector = it->second;
21
+ auto newProps = shadowNode.getProps();
22
+
23
+ #ifdef ANDROID
24
+ if (propsVector.size() > 1) {
25
+ folly::dynamic newPropsDynamic = folly::dynamic::object;
26
+ for (const auto &props : propsVector) {
27
+ newPropsDynamic = folly::dynamic::merge(props.operator folly::dynamic(), newPropsDynamic);
28
+ }
29
+ return shadowNode.getComponentDescriptor().cloneProps(propsParserContext, newProps, RawProps(newPropsDynamic));
30
+ }
31
+ #endif
32
+
33
+ for (const auto &props : propsVector) {
34
+ newProps = shadowNode.getComponentDescriptor().cloneProps(propsParserContext, newProps, RawProps(props));
35
+ }
36
+
37
+ return newProps;
38
+ }
39
+
40
+ std::shared_ptr<ShadowNode> cloneShadowTreeWithNewPropsRecursive(
41
+ const ShadowNode &shadowNode,
42
+ const ChildrenMap &childrenMap,
43
+ const PropsMap &propsMap) {
44
+ const auto family = &shadowNode.getFamily();
45
+ const auto affectedChildrenIt = childrenMap.find(family);
46
+ auto children = shadowNode.getChildren();
47
+
48
+ if (affectedChildrenIt != childrenMap.end()) {
49
+ for (const auto index : affectedChildrenIt->second) {
50
+ children[index] = cloneShadowTreeWithNewPropsRecursive(*children[index], childrenMap, propsMap);
51
+ }
52
+ }
53
+
54
+ return shadowNode.clone(
55
+ {mergeProps(shadowNode, propsMap, *family),
56
+ std::make_shared<std::vector<std::shared_ptr<const ShadowNode>>>(children),
57
+ shadowNode.getState(),
58
+ false});
59
+ }
60
+
61
+ RootShadowNode::Unshared cloneShadowTreeWithNewProps(const RootShadowNode &oldRootNode, const PropsMap &propsMap) {
62
+ ReanimatedSystraceSection s("ShadowTreeCloner::cloneShadowTreeWithNewProps");
63
+
64
+ ChildrenMap childrenMap;
65
+
66
+ {
67
+ ReanimatedSystraceSection s("ShadowTreeCloner::prepareChildrenMap");
68
+
69
+ for (auto &[family, _] : propsMap) {
70
+ const auto ancestors = family->getAncestors(oldRootNode);
71
+
72
+ // for (const auto &[parentNode, index] : std::ranges::reverse_view(ancestors)) {
73
+ // const auto parentFamily = &parentNode.get().getFamily();
74
+ // auto &affectedChildren = childrenMap[parentFamily];
75
+ //
76
+ // if (affectedChildren.contains(index)) {
77
+ // continue;
78
+ // }
79
+ //
80
+ // affectedChildren.insert(index);
81
+ // }
82
+ //TODO
83
+ for (auto it = ancestors.rbegin(); it != ancestors.rend(); ++it) {
84
+ const auto &[parentNode, index] = *it;
85
+
86
+ const auto parentFamily = &parentNode.get().getFamily();
87
+ auto &affectedChildren = childrenMap[parentFamily];
88
+
89
+ if (affectedChildren.find(index) != affectedChildren.end()) {
90
+ continue;
91
+ }
92
+
93
+ affectedChildren.insert(index);
94
+ }
95
+ }
96
+ }
97
+
98
+ // This cast is safe, because this function returns a clone
99
+ // of the oldRootNode, which is an instance of RootShadowNode
100
+ return std::static_pointer_cast<RootShadowNode>(
101
+ cloneShadowTreeWithNewPropsRecursive(oldRootNode, childrenMap, propsMap));
102
+ }
103
+
104
+ } // namespace reanimated
@@ -1,22 +1,22 @@
1
- #pragma once
2
-
3
- #include <react/renderer/core/PropsParserContext.h>
4
- #include <react/renderer/uimanager/UIManager.h>
5
-
6
- #include <memory>
7
- #include <type_traits>
8
- #include <unordered_map>
9
- #include <unordered_set>
10
- #include <vector>
11
-
12
- using namespace facebook;
13
- using namespace react;
14
-
15
- namespace reanimated {
16
-
17
- using PropsMap = std::unordered_map<const ShadowNodeFamily *, std::vector<RawProps>>;
18
- using ChildrenMap = std::unordered_map<const ShadowNodeFamily *, std::unordered_set<int>>;
19
-
20
- RootShadowNode::Unshared cloneShadowTreeWithNewProps(const RootShadowNode &oldRootNode, const PropsMap &propsMap);
21
-
22
- } // namespace reanimated
1
+ #pragma once
2
+
3
+ #include <react/renderer/core/PropsParserContext.h>
4
+ #include <react/renderer/uimanager/UIManager.h>
5
+
6
+ #include <memory>
7
+ #include <type_traits>
8
+ #include <unordered_map>
9
+ #include <unordered_set>
10
+ #include <vector>
11
+
12
+ using namespace facebook;
13
+ using namespace react;
14
+
15
+ namespace reanimated {
16
+
17
+ using PropsMap = std::unordered_map<const ShadowNodeFamily *, std::vector<RawProps>>;
18
+ using ChildrenMap = std::unordered_map<const ShadowNodeFamily *, std::unordered_set<int>>;
19
+
20
+ RootShadowNode::Unshared cloneShadowTreeWithNewProps(const RootShadowNode &oldRootNode, const PropsMap &propsMap);
21
+
22
+ } // namespace reanimated