@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,51 +1,51 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/configs/CSSAnimationConfig.h>
4
- #include <reanimated/CSS/configs/CSSKeyframesConfig.h>
5
- #include <reanimated/CSS/progress/AnimationProgressProvider.h>
6
-
7
- #include <memory>
8
- #include <string>
9
-
10
- namespace reanimated::css {
11
-
12
- class CSSAnimation {
13
- public:
14
- static constexpr double FALLBACK_INTERPOLATION_THRESHOLD = 0.5;
15
-
16
- CSSAnimation(
17
- jsi::Runtime &rt,
18
- std::shared_ptr<const ShadowNode> shadowNode,
19
- std::string animationName,
20
- const CSSKeyframesConfig &cssKeyframesConfig,
21
- const CSSAnimationSettings &settings,
22
- double timestamp);
23
-
24
- const std::string &getName() const;
25
- std::shared_ptr<const ShadowNode> getShadowNode() const;
26
-
27
- double getStartTimestamp(double timestamp) const;
28
- AnimationProgressState getState(double timestamp) const;
29
- bool isReversed() const;
30
-
31
- bool hasForwardsFillMode() const;
32
- bool hasBackwardsFillMode() const;
33
-
34
- folly::dynamic getCurrentInterpolationStyle() const;
35
- folly::dynamic getBackwardsFillStyle() const;
36
- folly::dynamic getResetStyle() const;
37
-
38
- void run(double timestamp);
39
- folly::dynamic update(double timestamp);
40
- void updateSettings(const PartialCSSAnimationSettings &updatedSettings, double timestamp);
41
-
42
- private:
43
- const std::string name_;
44
- const std::shared_ptr<const ShadowNode> shadowNode_;
45
- AnimationFillMode fillMode_;
46
-
47
- const std::shared_ptr<AnimationStyleInterpolator> styleInterpolator_;
48
- const std::shared_ptr<AnimationProgressProvider> progressProvider_;
49
- };
50
-
51
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/configs/CSSAnimationConfig.h>
4
+ #include <reanimated/CSS/configs/CSSKeyframesConfig.h>
5
+ #include <reanimated/CSS/progress/AnimationProgressProvider.h>
6
+
7
+ #include <memory>
8
+ #include <string>
9
+
10
+ namespace reanimated::css {
11
+
12
+ class CSSAnimation {
13
+ public:
14
+ static constexpr double FALLBACK_INTERPOLATION_THRESHOLD = 0.5;
15
+
16
+ CSSAnimation(
17
+ jsi::Runtime &rt,
18
+ std::shared_ptr<const ShadowNode> shadowNode,
19
+ std::string animationName,
20
+ const CSSKeyframesConfig &cssKeyframesConfig,
21
+ const CSSAnimationSettings &settings,
22
+ double timestamp);
23
+
24
+ const std::string &getName() const;
25
+ std::shared_ptr<const ShadowNode> getShadowNode() const;
26
+
27
+ double getStartTimestamp(double timestamp) const;
28
+ AnimationProgressState getState(double timestamp) const;
29
+ bool isReversed() const;
30
+
31
+ bool hasForwardsFillMode() const;
32
+ bool hasBackwardsFillMode() const;
33
+
34
+ folly::dynamic getCurrentInterpolationStyle() const;
35
+ folly::dynamic getBackwardsFillStyle() const;
36
+ folly::dynamic getResetStyle() const;
37
+
38
+ void run(double timestamp);
39
+ folly::dynamic update(double timestamp);
40
+ void updateSettings(const PartialCSSAnimationSettings &updatedSettings, double timestamp);
41
+
42
+ private:
43
+ const std::string name_;
44
+ const std::shared_ptr<const ShadowNode> shadowNode_;
45
+ AnimationFillMode fillMode_;
46
+
47
+ const std::shared_ptr<AnimationStyleInterpolator> styleInterpolator_;
48
+ const std::shared_ptr<AnimationProgressProvider> progressProvider_;
49
+ };
50
+
51
+ } // namespace reanimated::css
@@ -1,145 +1,145 @@
1
- #include <reanimated/CSS/core/CSSTransition.h>
2
-
3
- #include <memory>
4
- #include <string>
5
- #include <unordered_set>
6
- #include <utility>
7
-
8
- namespace reanimated::css {
9
-
10
- CSSTransition::CSSTransition(
11
- std::shared_ptr<const ShadowNode> shadowNode,
12
- const CSSTransitionConfig &config,
13
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
14
- : shadowNode_(std::move(shadowNode)),
15
- viewStylesRepository_(viewStylesRepository),
16
- properties_(config.properties),
17
- settings_(config.settings),
18
- styleInterpolator_(TransitionStyleInterpolator(shadowNode_->getComponentName(), viewStylesRepository)),
19
- progressProvider_(TransitionProgressProvider()) {
20
- updateAllowedDiscreteProperties();
21
- }
22
-
23
- Tag CSSTransition::getViewTag() const {
24
- return shadowNode_->getTag();
25
- }
26
-
27
- std::shared_ptr<const ShadowNode> CSSTransition::getShadowNode() const {
28
- return shadowNode_;
29
- }
30
-
31
- double CSSTransition::getMinDelay(double timestamp) const {
32
- return progressProvider_.getMinDelay(timestamp);
33
- }
34
-
35
- TransitionProgressState CSSTransition::getState() const {
36
- return progressProvider_.getState();
37
- }
38
-
39
- folly::dynamic CSSTransition::getCurrentInterpolationStyle() const {
40
- return styleInterpolator_.interpolate(shadowNode_, progressProvider_, allowDiscreteProperties_);
41
- }
42
-
43
- TransitionProperties CSSTransition::getProperties() const {
44
- return properties_;
45
- }
46
-
47
- PropertyNames CSSTransition::getAllowedProperties(const folly::dynamic &oldProps, const folly::dynamic &newProps) {
48
- if (!oldProps.isObject() || !newProps.isObject()) {
49
- return {};
50
- }
51
-
52
- // If specific properties are set, process only those
53
- if (properties_.has_value()) {
54
- PropertyNames allowedProps;
55
- const auto &properties = properties_.value();
56
- allowedProps.reserve(properties.size());
57
-
58
- for (const auto &prop : properties) {
59
- if (isAllowedProperty(prop)) {
60
- allowedProps.push_back(prop);
61
- }
62
- }
63
-
64
- return allowedProps;
65
- }
66
-
67
- // Process all properties from both old and new props
68
- std::unordered_set<std::string> allAllowedProps;
69
-
70
- for (const auto &props : {oldProps, newProps}) {
71
- for (const auto &propertyName : props.keys()) {
72
- if (isAllowedProperty(propertyName.asString())) {
73
- allAllowedProps.insert(propertyName.asString());
74
- }
75
- }
76
- }
77
-
78
- return {allAllowedProps.begin(), allAllowedProps.end()};
79
- }
80
-
81
- void CSSTransition::updateSettings(const PartialCSSTransitionConfig &config) {
82
- if (config.properties.has_value()) {
83
- updateTransitionProperties(config.properties.value());
84
- }
85
- if (config.settings.has_value()) {
86
- settings_ = config.settings.value();
87
- updateAllowedDiscreteProperties();
88
- }
89
- }
90
-
91
- folly::dynamic
92
- CSSTransition::run(const ChangedProps &changedProps, const folly::dynamic &lastUpdateValue, const double timestamp) {
93
- progressProvider_.runProgressProviders(
94
- timestamp,
95
- settings_,
96
- changedProps.changedPropertyNames,
97
- styleInterpolator_.getReversedPropertyNames(changedProps.newProps));
98
- styleInterpolator_.updateInterpolatedProperties(changedProps, lastUpdateValue);
99
- return update(timestamp);
100
- }
101
-
102
- folly::dynamic CSSTransition::update(const double timestamp) {
103
- progressProvider_.update(timestamp);
104
- auto result = styleInterpolator_.interpolate(shadowNode_, progressProvider_, allowDiscreteProperties_);
105
- // Remove interpolators for which interpolation has finished
106
- // (we won't need them anymore in the current transition)
107
- styleInterpolator_.discardFinishedInterpolators(progressProvider_);
108
- // And remove finished progress providers after they were used to calculate
109
- // the last frame of the transition
110
- progressProvider_.discardFinishedProgressProviders();
111
- return result;
112
- }
113
-
114
- void CSSTransition::updateTransitionProperties(const TransitionProperties &properties) {
115
- properties_ = properties;
116
-
117
- const auto isAllPropertiesTransition = !properties_.has_value();
118
- if (isAllPropertiesTransition) {
119
- return;
120
- }
121
-
122
- const std::unordered_set<std::string> transitionPropertyNames(properties_->begin(), properties_->end());
123
-
124
- styleInterpolator_.discardIrrelevantInterpolators(transitionPropertyNames);
125
- progressProvider_.discardIrrelevantProgressProviders(transitionPropertyNames);
126
- }
127
-
128
- void CSSTransition::updateAllowedDiscreteProperties() {
129
- allowDiscreteProperties_.clear();
130
- for (const auto &[propertyName, propertySettings] : settings_) {
131
- if (propertySettings.allowDiscrete) {
132
- allowDiscreteProperties_.insert(propertyName);
133
- }
134
- }
135
- }
136
-
137
- bool CSSTransition::isAllowedProperty(const std::string &propertyName) const {
138
- if (!isDiscreteProperty(propertyName, shadowNode_->getComponentName())) {
139
- return true;
140
- }
141
-
142
- return allowDiscreteProperties_.contains(propertyName) || allowDiscreteProperties_.contains("all");
143
- }
144
-
145
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/core/CSSTransition.h>
2
+
3
+ #include <memory>
4
+ #include <string>
5
+ #include <unordered_set>
6
+ #include <utility>
7
+
8
+ namespace reanimated::css {
9
+
10
+ CSSTransition::CSSTransition(
11
+ std::shared_ptr<const ShadowNode> shadowNode,
12
+ const CSSTransitionConfig &config,
13
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
14
+ : shadowNode_(std::move(shadowNode)),
15
+ viewStylesRepository_(viewStylesRepository),
16
+ properties_(config.properties),
17
+ settings_(config.settings),
18
+ styleInterpolator_(TransitionStyleInterpolator(shadowNode_->getComponentName(), viewStylesRepository)),
19
+ progressProvider_(TransitionProgressProvider()) {
20
+ updateAllowedDiscreteProperties();
21
+ }
22
+
23
+ Tag CSSTransition::getViewTag() const {
24
+ return shadowNode_->getTag();
25
+ }
26
+
27
+ std::shared_ptr<const ShadowNode> CSSTransition::getShadowNode() const {
28
+ return shadowNode_;
29
+ }
30
+
31
+ double CSSTransition::getMinDelay(double timestamp) const {
32
+ return progressProvider_.getMinDelay(timestamp);
33
+ }
34
+
35
+ TransitionProgressState CSSTransition::getState() const {
36
+ return progressProvider_.getState();
37
+ }
38
+
39
+ folly::dynamic CSSTransition::getCurrentInterpolationStyle() const {
40
+ return styleInterpolator_.interpolate(shadowNode_, progressProvider_, allowDiscreteProperties_);
41
+ }
42
+
43
+ TransitionProperties CSSTransition::getProperties() const {
44
+ return properties_;
45
+ }
46
+
47
+ PropertyNames CSSTransition::getAllowedProperties(const folly::dynamic &oldProps, const folly::dynamic &newProps) {
48
+ if (!oldProps.isObject() || !newProps.isObject()) {
49
+ return {};
50
+ }
51
+
52
+ // If specific properties are set, process only those
53
+ if (properties_.has_value()) {
54
+ PropertyNames allowedProps;
55
+ const auto &properties = properties_.value();
56
+ allowedProps.reserve(properties.size());
57
+
58
+ for (const auto &prop : properties) {
59
+ if (isAllowedProperty(prop)) {
60
+ allowedProps.push_back(prop);
61
+ }
62
+ }
63
+
64
+ return allowedProps;
65
+ }
66
+
67
+ // Process all properties from both old and new props
68
+ std::unordered_set<std::string> allAllowedProps;
69
+
70
+ for (const auto &props : {oldProps, newProps}) {
71
+ for (const auto &propertyName : props.keys()) {
72
+ if (isAllowedProperty(propertyName.asString())) {
73
+ allAllowedProps.insert(propertyName.asString());
74
+ }
75
+ }
76
+ }
77
+
78
+ return {allAllowedProps.begin(), allAllowedProps.end()};
79
+ }
80
+
81
+ void CSSTransition::updateSettings(const PartialCSSTransitionConfig &config) {
82
+ if (config.properties.has_value()) {
83
+ updateTransitionProperties(config.properties.value());
84
+ }
85
+ if (config.settings.has_value()) {
86
+ settings_ = config.settings.value();
87
+ updateAllowedDiscreteProperties();
88
+ }
89
+ }
90
+
91
+ folly::dynamic
92
+ CSSTransition::run(const ChangedProps &changedProps, const folly::dynamic &lastUpdateValue, const double timestamp) {
93
+ progressProvider_.runProgressProviders(
94
+ timestamp,
95
+ settings_,
96
+ changedProps.changedPropertyNames,
97
+ styleInterpolator_.getReversedPropertyNames(changedProps.newProps));
98
+ styleInterpolator_.updateInterpolatedProperties(changedProps, lastUpdateValue);
99
+ return update(timestamp);
100
+ }
101
+
102
+ folly::dynamic CSSTransition::update(const double timestamp) {
103
+ progressProvider_.update(timestamp);
104
+ auto result = styleInterpolator_.interpolate(shadowNode_, progressProvider_, allowDiscreteProperties_);
105
+ // Remove interpolators for which interpolation has finished
106
+ // (we won't need them anymore in the current transition)
107
+ styleInterpolator_.discardFinishedInterpolators(progressProvider_);
108
+ // And remove finished progress providers after they were used to calculate
109
+ // the last frame of the transition
110
+ progressProvider_.discardFinishedProgressProviders();
111
+ return result;
112
+ }
113
+
114
+ void CSSTransition::updateTransitionProperties(const TransitionProperties &properties) {
115
+ properties_ = properties;
116
+
117
+ const auto isAllPropertiesTransition = !properties_.has_value();
118
+ if (isAllPropertiesTransition) {
119
+ return;
120
+ }
121
+
122
+ const std::unordered_set<std::string> transitionPropertyNames(properties_->begin(), properties_->end());
123
+
124
+ styleInterpolator_.discardIrrelevantInterpolators(transitionPropertyNames);
125
+ progressProvider_.discardIrrelevantProgressProviders(transitionPropertyNames);
126
+ }
127
+
128
+ void CSSTransition::updateAllowedDiscreteProperties() {
129
+ allowDiscreteProperties_.clear();
130
+ for (const auto &[propertyName, propertySettings] : settings_) {
131
+ if (propertySettings.allowDiscrete) {
132
+ allowDiscreteProperties_.insert(propertyName);
133
+ }
134
+ }
135
+ }
136
+
137
+ bool CSSTransition::isAllowedProperty(const std::string &propertyName) const {
138
+ if (!isDiscreteProperty(propertyName, shadowNode_->getComponentName())) {
139
+ return true;
140
+ }
141
+
142
+ return allowDiscreteProperties_.contains(propertyName) || allowDiscreteProperties_.contains("all");
143
+ }
144
+
145
+ } // namespace reanimated::css
@@ -1,47 +1,47 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/configs/CSSTransitionConfig.h>
4
- #include <reanimated/CSS/easing/EasingFunctions.h>
5
- #include <reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h>
6
- #include <reanimated/CSS/progress/TransitionProgressProvider.h>
7
-
8
- #include <memory>
9
- #include <string>
10
- #include <unordered_set>
11
-
12
- namespace reanimated::css {
13
-
14
- class CSSTransition {
15
- public:
16
- CSSTransition(
17
- std::shared_ptr<const ShadowNode> shadowNode,
18
- const CSSTransitionConfig &config,
19
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository);
20
-
21
- Tag getViewTag() const;
22
- std::shared_ptr<const ShadowNode> getShadowNode() const;
23
- double getMinDelay(double timestamp) const;
24
- TransitionProgressState getState() const;
25
- folly::dynamic getCurrentInterpolationStyle() const;
26
- TransitionProperties getProperties() const;
27
- PropertyNames getAllowedProperties(const folly::dynamic &oldProps, const folly::dynamic &newProps);
28
-
29
- void updateSettings(const PartialCSSTransitionConfig &config);
30
- folly::dynamic run(const ChangedProps &changedProps, const folly::dynamic &lastUpdateValue, double timestamp);
31
- folly::dynamic update(double timestamp);
32
-
33
- private:
34
- const std::shared_ptr<const ShadowNode> shadowNode_;
35
- const std::shared_ptr<ViewStylesRepository> viewStylesRepository_;
36
- std::unordered_set<std::string> allowDiscreteProperties_;
37
- TransitionProperties properties_;
38
- CSSTransitionPropertiesSettings settings_;
39
- TransitionStyleInterpolator styleInterpolator_;
40
- TransitionProgressProvider progressProvider_;
41
-
42
- void updateTransitionProperties(const TransitionProperties &properties);
43
- void updateAllowedDiscreteProperties();
44
- bool isAllowedProperty(const std::string &propertyName) const;
45
- };
46
-
47
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/configs/CSSTransitionConfig.h>
4
+ #include <reanimated/CSS/easing/EasingFunctions.h>
5
+ #include <reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h>
6
+ #include <reanimated/CSS/progress/TransitionProgressProvider.h>
7
+
8
+ #include <memory>
9
+ #include <string>
10
+ #include <unordered_set>
11
+
12
+ namespace reanimated::css {
13
+
14
+ class CSSTransition {
15
+ public:
16
+ CSSTransition(
17
+ std::shared_ptr<const ShadowNode> shadowNode,
18
+ const CSSTransitionConfig &config,
19
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository);
20
+
21
+ Tag getViewTag() const;
22
+ std::shared_ptr<const ShadowNode> getShadowNode() const;
23
+ double getMinDelay(double timestamp) const;
24
+ TransitionProgressState getState() const;
25
+ folly::dynamic getCurrentInterpolationStyle() const;
26
+ TransitionProperties getProperties() const;
27
+ PropertyNames getAllowedProperties(const folly::dynamic &oldProps, const folly::dynamic &newProps);
28
+
29
+ void updateSettings(const PartialCSSTransitionConfig &config);
30
+ folly::dynamic run(const ChangedProps &changedProps, const folly::dynamic &lastUpdateValue, double timestamp);
31
+ folly::dynamic update(double timestamp);
32
+
33
+ private:
34
+ const std::shared_ptr<const ShadowNode> shadowNode_;
35
+ const std::shared_ptr<ViewStylesRepository> viewStylesRepository_;
36
+ std::unordered_set<std::string> allowDiscreteProperties_;
37
+ TransitionProperties properties_;
38
+ CSSTransitionPropertiesSettings settings_;
39
+ TransitionStyleInterpolator styleInterpolator_;
40
+ TransitionProgressProvider progressProvider_;
41
+
42
+ void updateTransitionProperties(const TransitionProperties &properties);
43
+ void updateAllowedDiscreteProperties();
44
+ bool isAllowedProperty(const std::string &propertyName) const;
45
+ };
46
+
47
+ } // namespace reanimated::css
@@ -1,69 +1,69 @@
1
- #include <reanimated/CSS/easing/EasingFunctions.h>
2
-
3
- #include <string>
4
- #include <unordered_map>
5
- #include <vector>
6
-
7
- namespace reanimated::css {
8
-
9
- inline const std::unordered_map<std::string, EasingFunction> PREDEFINED_EASING_MAP = {
10
- {"linear",
11
- [](double x) {
12
- return x;
13
- }},
14
- {"ease", cubicBezier(0.25, 0.1, 0.25, 0.1)},
15
- {"ease-in", cubicBezier(0.42, 0.0, 1.0, 1.0)},
16
- {"ease-out", cubicBezier(0.0, 0.0, 0.58, 1.0)},
17
- {"ease-in-out", cubicBezier(0.42, 0.0, 0.58, 1.0)},
18
- {"step-start", steps(std::vector<double>{0}, std::vector<double>{1})},
19
- {"step-end", steps(std::vector<double>{0, 1}, std::vector<double>{0, 1})}};
20
-
21
- EasingFunction createEasingFunction(jsi::Runtime &rt, const jsi::Value &easingConfig) {
22
- if (easingConfig.isString()) {
23
- return getPredefinedEasingFunction(easingConfig.asString(rt).utf8(rt));
24
- } else if (easingConfig.isObject()) {
25
- return createParametrizedEasingFunction(rt, easingConfig.asObject(rt));
26
- } else {
27
- throw std::runtime_error(std::string("[Reanimated] Invalid easing function"));
28
- }
29
- }
30
-
31
- EasingFunction getPredefinedEasingFunction(const std::string &name) {
32
- auto it = PREDEFINED_EASING_MAP.find(name);
33
- if (it != PREDEFINED_EASING_MAP.end()) {
34
- return it->second;
35
- } else {
36
- throw std::runtime_error(std::string("[Reanimated] Easing function with name '" + name + "' is not defined."));
37
- }
38
- }
39
-
40
- EasingFunction createParametrizedEasingFunction(jsi::Runtime &rt, const jsi::Object &easingConfig) {
41
- const auto easingName = easingConfig.getProperty(rt, "name").asString(rt).utf8(rt);
42
-
43
- if (easingName == "cubicBezier") {
44
- return cubicBezier(rt, easingConfig);
45
- }
46
-
47
- std::vector<double> pointsX;
48
- std::vector<double> pointsY;
49
-
50
- const auto points = easingConfig.getProperty(rt, "points").asObject(rt).asArray(rt);
51
- const auto pointsCount = points.size(rt);
52
-
53
- for (size_t i = 0; i < pointsCount; i++) {
54
- const auto pointObj = points.getValueAtIndex(rt, i).asObject(rt);
55
- pointsX.push_back(pointObj.getProperty(rt, "x").asNumber());
56
- pointsY.push_back(pointObj.getProperty(rt, "y").asNumber());
57
- }
58
-
59
- if (easingName == "linear") {
60
- return linear(pointsX, pointsY);
61
- } else if (easingName == "steps") {
62
- return steps(pointsX, pointsY);
63
- } else {
64
- throw std::runtime_error(
65
- std::string("[Reanimated] Parametrized easing function with name '" + easingName + "' is not defined."));
66
- }
67
- }
68
-
69
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/easing/EasingFunctions.h>
2
+
3
+ #include <string>
4
+ #include <unordered_map>
5
+ #include <vector>
6
+
7
+ namespace reanimated::css {
8
+
9
+ inline const std::unordered_map<std::string, EasingFunction> PREDEFINED_EASING_MAP = {
10
+ {"linear",
11
+ [](double x) {
12
+ return x;
13
+ }},
14
+ {"ease", cubicBezier(0.25, 0.1, 0.25, 0.1)},
15
+ {"ease-in", cubicBezier(0.42, 0.0, 1.0, 1.0)},
16
+ {"ease-out", cubicBezier(0.0, 0.0, 0.58, 1.0)},
17
+ {"ease-in-out", cubicBezier(0.42, 0.0, 0.58, 1.0)},
18
+ {"step-start", steps(std::vector<double>{0}, std::vector<double>{1})},
19
+ {"step-end", steps(std::vector<double>{0, 1}, std::vector<double>{0, 1})}};
20
+
21
+ EasingFunction createEasingFunction(jsi::Runtime &rt, const jsi::Value &easingConfig) {
22
+ if (easingConfig.isString()) {
23
+ return getPredefinedEasingFunction(easingConfig.asString(rt).utf8(rt));
24
+ } else if (easingConfig.isObject()) {
25
+ return createParametrizedEasingFunction(rt, easingConfig.asObject(rt));
26
+ } else {
27
+ throw std::runtime_error(std::string("[Reanimated] Invalid easing function"));
28
+ }
29
+ }
30
+
31
+ EasingFunction getPredefinedEasingFunction(const std::string &name) {
32
+ auto it = PREDEFINED_EASING_MAP.find(name);
33
+ if (it != PREDEFINED_EASING_MAP.end()) {
34
+ return it->second;
35
+ } else {
36
+ throw std::runtime_error(std::string("[Reanimated] Easing function with name '" + name + "' is not defined."));
37
+ }
38
+ }
39
+
40
+ EasingFunction createParametrizedEasingFunction(jsi::Runtime &rt, const jsi::Object &easingConfig) {
41
+ const auto easingName = easingConfig.getProperty(rt, "name").asString(rt).utf8(rt);
42
+
43
+ if (easingName == "cubicBezier") {
44
+ return cubicBezier(rt, easingConfig);
45
+ }
46
+
47
+ std::vector<double> pointsX;
48
+ std::vector<double> pointsY;
49
+
50
+ const auto points = easingConfig.getProperty(rt, "points").asObject(rt).asArray(rt);
51
+ const auto pointsCount = points.size(rt);
52
+
53
+ for (size_t i = 0; i < pointsCount; i++) {
54
+ const auto pointObj = points.getValueAtIndex(rt, i).asObject(rt);
55
+ pointsX.push_back(pointObj.getProperty(rt, "x").asNumber());
56
+ pointsY.push_back(pointObj.getProperty(rt, "y").asNumber());
57
+ }
58
+
59
+ if (easingName == "linear") {
60
+ return linear(pointsX, pointsY);
61
+ } else if (easingName == "steps") {
62
+ return steps(pointsX, pointsY);
63
+ } else {
64
+ throw std::runtime_error(
65
+ std::string("[Reanimated] Parametrized easing function with name '" + easingName + "' is not defined."));
66
+ }
67
+ }
68
+
69
+ } // namespace reanimated::css