@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,90 +1,90 @@
1
- #include <reanimated/CSS/configs/CSSTransitionConfig.h>
2
-
3
- #include <string>
4
-
5
- namespace reanimated::css {
6
-
7
- std::optional<CSSTransitionPropertySettings> getTransitionPropertySettings(
8
- const CSSTransitionPropertiesSettings &propertiesSettings,
9
- const std::string &propName) {
10
- // Try to use property specific settings first
11
- const auto &propIt = propertiesSettings.find(propName);
12
- if (propIt != propertiesSettings.end()) {
13
- return propIt->second;
14
- }
15
- // Fallback to "all" settings if no property specific settings are available
16
- const auto &allIt = propertiesSettings.find("all");
17
- if (allIt != propertiesSettings.end()) {
18
- return allIt->second;
19
- }
20
- // Or return nullopt if no settings are available
21
- return std::nullopt;
22
- }
23
-
24
- TransitionProperties getProperties(jsi::Runtime &rt, const jsi::Object &config) {
25
- const auto transitionProperty = config.getProperty(rt, "properties");
26
-
27
- if (transitionProperty.isObject()) {
28
- PropertyNames properties;
29
-
30
- const auto propertiesArray = transitionProperty.asObject(rt).asArray(rt);
31
- const auto propertiesCount = propertiesArray.size(rt);
32
- for (size_t i = 0; i < propertiesCount; ++i) {
33
- properties.emplace_back(propertiesArray.getValueAtIndex(rt, i).asString(rt).utf8(rt));
34
- }
35
-
36
- return properties;
37
- }
38
-
39
- return std::nullopt;
40
- }
41
-
42
- bool getAllowDiscrete(jsi::Runtime &rt, const jsi::Object &config) {
43
- return config.getProperty(rt, "allowDiscrete").asBool();
44
- }
45
-
46
- CSSTransitionPropertiesSettings parseCSSTransitionPropertiesSettings(jsi::Runtime &rt, const jsi::Object &settings) {
47
- CSSTransitionPropertiesSettings result;
48
-
49
- const auto propertyNames = settings.getPropertyNames(rt);
50
- const auto propertiesCount = propertyNames.size(rt);
51
-
52
- for (size_t i = 0; i < propertiesCount; ++i) {
53
- const auto propertyName = propertyNames.getValueAtIndex(rt, i).asString(rt).utf8(rt);
54
- const auto propertySettings = settings.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName)).asObject(rt);
55
-
56
- result.emplace(
57
- propertyName,
58
- CSSTransitionPropertySettings{
59
- getDuration(rt, propertySettings),
60
- getTimingFunction(rt, propertySettings),
61
- getDelay(rt, propertySettings),
62
- getAllowDiscrete(rt, propertySettings)});
63
- }
64
-
65
- return result;
66
- }
67
-
68
- CSSTransitionConfig parseCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &config) {
69
- const auto configObj = config.asObject(rt);
70
- return CSSTransitionConfig{
71
- getProperties(rt, configObj),
72
- parseCSSTransitionPropertiesSettings(rt, configObj.getProperty(rt, "settings").asObject(rt))};
73
- }
74
-
75
- PartialCSSTransitionConfig parsePartialCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &partialConfig) {
76
- const auto partialObj = partialConfig.asObject(rt);
77
-
78
- PartialCSSTransitionConfig result;
79
-
80
- if (partialObj.hasProperty(rt, "properties")) {
81
- result.properties = getProperties(rt, partialObj);
82
- }
83
- if (partialObj.hasProperty(rt, "settings")) {
84
- result.settings = parseCSSTransitionPropertiesSettings(rt, partialObj.getProperty(rt, "settings").asObject(rt));
85
- }
86
-
87
- return result;
88
- }
89
-
90
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/configs/CSSTransitionConfig.h>
2
+
3
+ #include <string>
4
+
5
+ namespace reanimated::css {
6
+
7
+ std::optional<CSSTransitionPropertySettings> getTransitionPropertySettings(
8
+ const CSSTransitionPropertiesSettings &propertiesSettings,
9
+ const std::string &propName) {
10
+ // Try to use property specific settings first
11
+ const auto &propIt = propertiesSettings.find(propName);
12
+ if (propIt != propertiesSettings.end()) {
13
+ return propIt->second;
14
+ }
15
+ // Fallback to "all" settings if no property specific settings are available
16
+ const auto &allIt = propertiesSettings.find("all");
17
+ if (allIt != propertiesSettings.end()) {
18
+ return allIt->second;
19
+ }
20
+ // Or return nullopt if no settings are available
21
+ return std::nullopt;
22
+ }
23
+
24
+ TransitionProperties getProperties(jsi::Runtime &rt, const jsi::Object &config) {
25
+ const auto transitionProperty = config.getProperty(rt, "properties");
26
+
27
+ if (transitionProperty.isObject()) {
28
+ PropertyNames properties;
29
+
30
+ const auto propertiesArray = transitionProperty.asObject(rt).asArray(rt);
31
+ const auto propertiesCount = propertiesArray.size(rt);
32
+ for (size_t i = 0; i < propertiesCount; ++i) {
33
+ properties.emplace_back(propertiesArray.getValueAtIndex(rt, i).asString(rt).utf8(rt));
34
+ }
35
+
36
+ return properties;
37
+ }
38
+
39
+ return std::nullopt;
40
+ }
41
+
42
+ bool getAllowDiscrete(jsi::Runtime &rt, const jsi::Object &config) {
43
+ return config.getProperty(rt, "allowDiscrete").asBool();
44
+ }
45
+
46
+ CSSTransitionPropertiesSettings parseCSSTransitionPropertiesSettings(jsi::Runtime &rt, const jsi::Object &settings) {
47
+ CSSTransitionPropertiesSettings result;
48
+
49
+ const auto propertyNames = settings.getPropertyNames(rt);
50
+ const auto propertiesCount = propertyNames.size(rt);
51
+
52
+ for (size_t i = 0; i < propertiesCount; ++i) {
53
+ const auto propertyName = propertyNames.getValueAtIndex(rt, i).asString(rt).utf8(rt);
54
+ const auto propertySettings = settings.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName)).asObject(rt);
55
+
56
+ result.emplace(
57
+ propertyName,
58
+ CSSTransitionPropertySettings{
59
+ getDuration(rt, propertySettings),
60
+ getTimingFunction(rt, propertySettings),
61
+ getDelay(rt, propertySettings),
62
+ getAllowDiscrete(rt, propertySettings)});
63
+ }
64
+
65
+ return result;
66
+ }
67
+
68
+ CSSTransitionConfig parseCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &config) {
69
+ const auto configObj = config.asObject(rt);
70
+ return CSSTransitionConfig{
71
+ getProperties(rt, configObj),
72
+ parseCSSTransitionPropertiesSettings(rt, configObj.getProperty(rt, "settings").asObject(rt))};
73
+ }
74
+
75
+ PartialCSSTransitionConfig parsePartialCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &partialConfig) {
76
+ const auto partialObj = partialConfig.asObject(rt);
77
+
78
+ PartialCSSTransitionConfig result;
79
+
80
+ if (partialObj.hasProperty(rt, "properties")) {
81
+ result.properties = getProperties(rt, partialObj);
82
+ }
83
+ if (partialObj.hasProperty(rt, "settings")) {
84
+ result.settings = parseCSSTransitionPropertiesSettings(rt, partialObj.getProperty(rt, "settings").asObject(rt));
85
+ }
86
+
87
+ return result;
88
+ }
89
+
90
+ } // namespace reanimated::css
@@ -1,43 +1,43 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/definitions.h>
4
- #include <reanimated/CSS/configs/common.h>
5
- #include <reanimated/CSS/easing/EasingFunctions.h>
6
-
7
- #include <string>
8
- #include <unordered_map>
9
-
10
- namespace reanimated::css {
11
-
12
- struct CSSTransitionPropertySettings {
13
- double duration;
14
- EasingFunction easingFunction;
15
- double delay;
16
- bool allowDiscrete;
17
- };
18
-
19
- using CSSTransitionPropertiesSettings = std::unordered_map<std::string, CSSTransitionPropertySettings>;
20
-
21
- struct CSSTransitionConfig {
22
- TransitionProperties properties;
23
- CSSTransitionPropertiesSettings settings;
24
- };
25
-
26
- struct PartialCSSTransitionConfig {
27
- std::optional<TransitionProperties> properties;
28
- std::optional<CSSTransitionPropertiesSettings> settings;
29
- };
30
-
31
- std::optional<CSSTransitionPropertySettings> getTransitionPropertySettings(
32
- const CSSTransitionPropertiesSettings &propertiesSettings,
33
- const std::string &propName);
34
-
35
- TransitionProperties getProperties(jsi::Runtime &rt, const jsi::Object &config);
36
-
37
- CSSTransitionPropertiesSettings parseCSSTransitionPropertiesSettings(jsi::Runtime &rt, const jsi::Object &settings);
38
-
39
- CSSTransitionConfig parseCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &config);
40
-
41
- PartialCSSTransitionConfig parsePartialCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &partialConfig);
42
-
43
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/definitions.h>
4
+ #include <reanimated/CSS/configs/common.h>
5
+ #include <reanimated/CSS/easing/EasingFunctions.h>
6
+
7
+ #include <string>
8
+ #include <unordered_map>
9
+
10
+ namespace reanimated::css {
11
+
12
+ struct CSSTransitionPropertySettings {
13
+ double duration;
14
+ EasingFunction easingFunction;
15
+ double delay;
16
+ bool allowDiscrete;
17
+ };
18
+
19
+ using CSSTransitionPropertiesSettings = std::unordered_map<std::string, CSSTransitionPropertySettings>;
20
+
21
+ struct CSSTransitionConfig {
22
+ TransitionProperties properties;
23
+ CSSTransitionPropertiesSettings settings;
24
+ };
25
+
26
+ struct PartialCSSTransitionConfig {
27
+ std::optional<TransitionProperties> properties;
28
+ std::optional<CSSTransitionPropertiesSettings> settings;
29
+ };
30
+
31
+ std::optional<CSSTransitionPropertySettings> getTransitionPropertySettings(
32
+ const CSSTransitionPropertiesSettings &propertiesSettings,
33
+ const std::string &propName);
34
+
35
+ TransitionProperties getProperties(jsi::Runtime &rt, const jsi::Object &config);
36
+
37
+ CSSTransitionPropertiesSettings parseCSSTransitionPropertiesSettings(jsi::Runtime &rt, const jsi::Object &settings);
38
+
39
+ CSSTransitionConfig parseCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &config);
40
+
41
+ PartialCSSTransitionConfig parsePartialCSSTransitionConfig(jsi::Runtime &rt, const jsi::Value &partialConfig);
42
+
43
+ } // namespace reanimated::css
@@ -1,17 +1,17 @@
1
- #include <reanimated/CSS/configs/common.h>
2
-
3
- namespace reanimated::css {
4
-
5
- double getDuration(jsi::Runtime &rt, const jsi::Object &config) {
6
- return config.getProperty(rt, "duration").asNumber();
7
- }
8
-
9
- EasingFunction getTimingFunction(jsi::Runtime &rt, const jsi::Object &config) {
10
- return createEasingFunction(rt, config.getProperty(rt, "timingFunction"));
11
- }
12
-
13
- double getDelay(jsi::Runtime &rt, const jsi::Object &config) {
14
- return config.getProperty(rt, "delay").asNumber();
15
- }
16
-
17
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/configs/common.h>
2
+
3
+ namespace reanimated::css {
4
+
5
+ double getDuration(jsi::Runtime &rt, const jsi::Object &config) {
6
+ return config.getProperty(rt, "duration").asNumber();
7
+ }
8
+
9
+ EasingFunction getTimingFunction(jsi::Runtime &rt, const jsi::Object &config) {
10
+ return createEasingFunction(rt, config.getProperty(rt, "timingFunction"));
11
+ }
12
+
13
+ double getDelay(jsi::Runtime &rt, const jsi::Object &config) {
14
+ return config.getProperty(rt, "delay").asNumber();
15
+ }
16
+
17
+ } // namespace reanimated::css
@@ -1,13 +1,13 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/easing/EasingFunctions.h>
4
-
5
- namespace reanimated::css {
6
-
7
- double getDuration(jsi::Runtime &rt, const jsi::Object &config);
8
-
9
- EasingFunction getTimingFunction(jsi::Runtime &rt, const jsi::Object &config);
10
-
11
- double getDelay(jsi::Runtime &rt, const jsi::Object &config);
12
-
13
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/easing/EasingFunctions.h>
4
+
5
+ namespace reanimated::css {
6
+
7
+ double getDuration(jsi::Runtime &rt, const jsi::Object &config);
8
+
9
+ EasingFunction getTimingFunction(jsi::Runtime &rt, const jsi::Object &config);
10
+
11
+ double getDelay(jsi::Runtime &rt, const jsi::Object &config);
12
+
13
+ } // namespace reanimated::css
@@ -1,127 +1,127 @@
1
- #include <reanimated/CSS/core/CSSAnimation.h>
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <utility>
6
-
7
- namespace reanimated::css {
8
-
9
- CSSAnimation::CSSAnimation(
10
- jsi::Runtime &rt,
11
- std::shared_ptr<const ShadowNode> shadowNode,
12
- std::string animationName,
13
- const CSSKeyframesConfig &cssKeyframesConfig,
14
- const CSSAnimationSettings &settings,
15
- const double timestamp)
16
- : name_(std::move(animationName)),
17
- shadowNode_(std::move(shadowNode)),
18
- fillMode_(settings.fillMode),
19
- styleInterpolator_(cssKeyframesConfig.styleInterpolator),
20
- progressProvider_(std::make_shared<AnimationProgressProvider>(
21
- timestamp,
22
- settings.duration,
23
- settings.delay,
24
- settings.iterationCount,
25
- settings.direction,
26
- settings.easingFunction,
27
- cssKeyframesConfig.keyframeEasingFunctions)) {
28
- if (settings.playState == AnimationPlayState::Paused) {
29
- progressProvider_->pause(timestamp);
30
- }
31
- }
32
-
33
- const std::string &CSSAnimation::getName() const {
34
- return name_;
35
- }
36
-
37
- std::shared_ptr<const ShadowNode> CSSAnimation::getShadowNode() const {
38
- return shadowNode_;
39
- }
40
-
41
- double CSSAnimation::getStartTimestamp(const double timestamp) const {
42
- return progressProvider_->getStartTimestamp(timestamp);
43
- }
44
-
45
- AnimationProgressState CSSAnimation::getState(double timestamp) const {
46
- return progressProvider_->getState(timestamp);
47
- }
48
-
49
- bool CSSAnimation::isReversed() const {
50
- const auto direction = progressProvider_->getDirection();
51
- return direction == AnimationDirection::Reverse || direction == AnimationDirection::AlternateReverse;
52
- }
53
-
54
- bool CSSAnimation::hasForwardsFillMode() const {
55
- return fillMode_ == AnimationFillMode::Forwards || fillMode_ == AnimationFillMode::Both;
56
- }
57
-
58
- bool CSSAnimation::hasBackwardsFillMode() const {
59
- return fillMode_ == AnimationFillMode::Backwards || fillMode_ == AnimationFillMode::Both;
60
- }
61
-
62
- folly::dynamic CSSAnimation::getCurrentInterpolationStyle() const {
63
- return styleInterpolator_->interpolate(shadowNode_, progressProvider_, FALLBACK_INTERPOLATION_THRESHOLD);
64
- }
65
-
66
- folly::dynamic CSSAnimation::getBackwardsFillStyle() const {
67
- return isReversed() ? styleInterpolator_->getLastKeyframeValue() : styleInterpolator_->getFirstKeyframeValue();
68
- }
69
-
70
- folly::dynamic CSSAnimation::getResetStyle() const {
71
- return styleInterpolator_->getResetStyle(shadowNode_);
72
- }
73
-
74
- void CSSAnimation::run(const double timestamp) {
75
- if (progressProvider_->getState(timestamp) == AnimationProgressState::Finished) {
76
- return;
77
- }
78
- progressProvider_->play(timestamp);
79
- }
80
-
81
- folly::dynamic CSSAnimation::update(const double timestamp) {
82
- progressProvider_->update(timestamp);
83
-
84
- // Check if the animation has not started yet because of the delay
85
- // (In general, it shouldn't be activated until the delay has passed but we
86
- // add this check to make sure that animation doesn't start with the negative
87
- // progress)
88
- if (progressProvider_->getState(timestamp) == AnimationProgressState::Pending) {
89
- return hasBackwardsFillMode() ? getBackwardsFillStyle() : folly::dynamic();
90
- }
91
-
92
- return styleInterpolator_->interpolate(shadowNode_, progressProvider_, FALLBACK_INTERPOLATION_THRESHOLD);
93
- }
94
-
95
- void CSSAnimation::updateSettings(const PartialCSSAnimationSettings &updatedSettings, const double timestamp) {
96
- progressProvider_->resetProgress();
97
-
98
- if (updatedSettings.duration.has_value()) {
99
- progressProvider_->setDuration(updatedSettings.duration.value());
100
- }
101
- if (updatedSettings.easingFunction.has_value()) {
102
- progressProvider_->setEasingFunction(updatedSettings.easingFunction.value());
103
- }
104
- if (updatedSettings.delay.has_value()) {
105
- progressProvider_->setDelay(updatedSettings.delay.value());
106
- }
107
- if (updatedSettings.iterationCount.has_value()) {
108
- progressProvider_->setIterationCount(updatedSettings.iterationCount.value());
109
- }
110
- if (updatedSettings.direction.has_value()) {
111
- progressProvider_->setDirection(updatedSettings.direction.value());
112
- }
113
- if (updatedSettings.fillMode.has_value()) {
114
- fillMode_ = updatedSettings.fillMode.value();
115
- }
116
- if (updatedSettings.playState.has_value()) {
117
- if (updatedSettings.playState.value() == AnimationPlayState::Paused) {
118
- progressProvider_->pause(timestamp);
119
- } else {
120
- progressProvider_->play(timestamp);
121
- }
122
- }
123
-
124
- progressProvider_->update(timestamp);
125
- }
126
-
127
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/core/CSSAnimation.h>
2
+
3
+ #include <memory>
4
+ #include <string>
5
+ #include <utility>
6
+
7
+ namespace reanimated::css {
8
+
9
+ CSSAnimation::CSSAnimation(
10
+ jsi::Runtime &rt,
11
+ std::shared_ptr<const ShadowNode> shadowNode,
12
+ std::string animationName,
13
+ const CSSKeyframesConfig &cssKeyframesConfig,
14
+ const CSSAnimationSettings &settings,
15
+ const double timestamp)
16
+ : name_(std::move(animationName)),
17
+ shadowNode_(std::move(shadowNode)),
18
+ fillMode_(settings.fillMode),
19
+ styleInterpolator_(cssKeyframesConfig.styleInterpolator),
20
+ progressProvider_(std::make_shared<AnimationProgressProvider>(
21
+ timestamp,
22
+ settings.duration,
23
+ settings.delay,
24
+ settings.iterationCount,
25
+ settings.direction,
26
+ settings.easingFunction,
27
+ cssKeyframesConfig.keyframeEasingFunctions)) {
28
+ if (settings.playState == AnimationPlayState::Paused) {
29
+ progressProvider_->pause(timestamp);
30
+ }
31
+ }
32
+
33
+ const std::string &CSSAnimation::getName() const {
34
+ return name_;
35
+ }
36
+
37
+ std::shared_ptr<const ShadowNode> CSSAnimation::getShadowNode() const {
38
+ return shadowNode_;
39
+ }
40
+
41
+ double CSSAnimation::getStartTimestamp(const double timestamp) const {
42
+ return progressProvider_->getStartTimestamp(timestamp);
43
+ }
44
+
45
+ AnimationProgressState CSSAnimation::getState(double timestamp) const {
46
+ return progressProvider_->getState(timestamp);
47
+ }
48
+
49
+ bool CSSAnimation::isReversed() const {
50
+ const auto direction = progressProvider_->getDirection();
51
+ return direction == AnimationDirection::Reverse || direction == AnimationDirection::AlternateReverse;
52
+ }
53
+
54
+ bool CSSAnimation::hasForwardsFillMode() const {
55
+ return fillMode_ == AnimationFillMode::Forwards || fillMode_ == AnimationFillMode::Both;
56
+ }
57
+
58
+ bool CSSAnimation::hasBackwardsFillMode() const {
59
+ return fillMode_ == AnimationFillMode::Backwards || fillMode_ == AnimationFillMode::Both;
60
+ }
61
+
62
+ folly::dynamic CSSAnimation::getCurrentInterpolationStyle() const {
63
+ return styleInterpolator_->interpolate(shadowNode_, progressProvider_, FALLBACK_INTERPOLATION_THRESHOLD);
64
+ }
65
+
66
+ folly::dynamic CSSAnimation::getBackwardsFillStyle() const {
67
+ return isReversed() ? styleInterpolator_->getLastKeyframeValue() : styleInterpolator_->getFirstKeyframeValue();
68
+ }
69
+
70
+ folly::dynamic CSSAnimation::getResetStyle() const {
71
+ return styleInterpolator_->getResetStyle(shadowNode_);
72
+ }
73
+
74
+ void CSSAnimation::run(const double timestamp) {
75
+ if (progressProvider_->getState(timestamp) == AnimationProgressState::Finished) {
76
+ return;
77
+ }
78
+ progressProvider_->play(timestamp);
79
+ }
80
+
81
+ folly::dynamic CSSAnimation::update(const double timestamp) {
82
+ progressProvider_->update(timestamp);
83
+
84
+ // Check if the animation has not started yet because of the delay
85
+ // (In general, it shouldn't be activated until the delay has passed but we
86
+ // add this check to make sure that animation doesn't start with the negative
87
+ // progress)
88
+ if (progressProvider_->getState(timestamp) == AnimationProgressState::Pending) {
89
+ return hasBackwardsFillMode() ? getBackwardsFillStyle() : folly::dynamic();
90
+ }
91
+
92
+ return styleInterpolator_->interpolate(shadowNode_, progressProvider_, FALLBACK_INTERPOLATION_THRESHOLD);
93
+ }
94
+
95
+ void CSSAnimation::updateSettings(const PartialCSSAnimationSettings &updatedSettings, const double timestamp) {
96
+ progressProvider_->resetProgress();
97
+
98
+ if (updatedSettings.duration.has_value()) {
99
+ progressProvider_->setDuration(updatedSettings.duration.value());
100
+ }
101
+ if (updatedSettings.easingFunction.has_value()) {
102
+ progressProvider_->setEasingFunction(updatedSettings.easingFunction.value());
103
+ }
104
+ if (updatedSettings.delay.has_value()) {
105
+ progressProvider_->setDelay(updatedSettings.delay.value());
106
+ }
107
+ if (updatedSettings.iterationCount.has_value()) {
108
+ progressProvider_->setIterationCount(updatedSettings.iterationCount.value());
109
+ }
110
+ if (updatedSettings.direction.has_value()) {
111
+ progressProvider_->setDirection(updatedSettings.direction.value());
112
+ }
113
+ if (updatedSettings.fillMode.has_value()) {
114
+ fillMode_ = updatedSettings.fillMode.value();
115
+ }
116
+ if (updatedSettings.playState.has_value()) {
117
+ if (updatedSettings.playState.value() == AnimationPlayState::Paused) {
118
+ progressProvider_->pause(timestamp);
119
+ } else {
120
+ progressProvider_->play(timestamp);
121
+ }
122
+ }
123
+
124
+ progressProvider_->update(timestamp);
125
+ }
126
+
127
+ } // namespace reanimated::css