@react-native-ohos/react-native-reanimated 4.0.1 → 4.0.2-beta.1

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 +65 -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 +233 -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 +51 -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,22 +1,22 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/easing/cubicBezier.h>
4
- #include <reanimated/CSS/easing/linear.h>
5
- #include <reanimated/CSS/easing/steps.h>
6
-
7
- #include <jsi/jsi.h>
8
- #include <string>
9
- #include <unordered_map>
10
-
11
- namespace reanimated::css {
12
-
13
- using namespace facebook;
14
-
15
- extern const std::unordered_map<std::string, EasingFunction> PREDEFINED_EASING_MAP;
16
-
17
- EasingFunction getPredefinedEasingFunction(const std::string &name);
18
- EasingFunction createParametrizedEasingFunction(jsi::Runtime &rt, const jsi::Object &easingConfig);
19
-
20
- EasingFunction createEasingFunction(jsi::Runtime &rt, const jsi::Value &easingConfig);
21
-
22
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/easing/cubicBezier.h>
4
+ #include <reanimated/CSS/easing/linear.h>
5
+ #include <reanimated/CSS/easing/steps.h>
6
+
7
+ #include <jsi/jsi.h>
8
+ #include <string>
9
+ #include <unordered_map>
10
+
11
+ namespace reanimated::css {
12
+
13
+ using namespace facebook;
14
+
15
+ extern const std::unordered_map<std::string, EasingFunction> PREDEFINED_EASING_MAP;
16
+
17
+ EasingFunction getPredefinedEasingFunction(const std::string &name);
18
+ EasingFunction createParametrizedEasingFunction(jsi::Runtime &rt, const jsi::Object &easingConfig);
19
+
20
+ EasingFunction createEasingFunction(jsi::Runtime &rt, const jsi::Value &easingConfig);
21
+
22
+ } // namespace reanimated::css
@@ -1,66 +1,66 @@
1
- #include <reanimated/CSS/easing/cubicBezier.h>
2
-
3
- namespace reanimated::css {
4
-
5
- double sampleCurveX(const double t, const double x1, const double x2) {
6
- return 3 * (1 - t) * (1 - t) * t * x1 + 3 * (1 - t) * t * t * x2 + t * t * t;
7
- }
8
-
9
- double sampleCurveY(const double t, const double y1, const double y2) {
10
- return 3 * (1 - t) * (1 - t) * t * y1 + 3 * (1 - t) * t * t * y2 + t * t * t;
11
- }
12
-
13
- double sampleCurveDerivativeX(const double t, const double x1, const double x2) {
14
- return -6 * (1 - t) * t * x1 + 3 * (1 - t) * (1 - t) * x1 + 6 * (1 - t) * t * x2 - 6 * t * t * x2 + 3 * t * t;
15
- }
16
-
17
- double solveCurveX(const double x, const double x1, const double x2, const double epsilon) {
18
- double t0 = 0.0, t1 = 1.0, t2 = x, xValue, dX;
19
- int iterations = 0;
20
-
21
- while (iterations < 8) {
22
- xValue = sampleCurveX(t2, x1, x2) - x;
23
- if (std::abs(xValue) < epsilon) {
24
- return t2;
25
- }
26
- dX = sampleCurveDerivativeX(t2, x1, x2);
27
- if (std::abs(dX) < epsilon) {
28
- break;
29
- }
30
- t2 = t2 - xValue / dX;
31
- iterations++;
32
- }
33
-
34
- // Fallback: Use binary search
35
- while (t0 < t1) {
36
- t2 = (t0 + t1) / 2.0;
37
- xValue = sampleCurveX(t2, x1, x2);
38
- if (std::abs(xValue - x) < epsilon) {
39
- return t2;
40
- }
41
- if (x > xValue) {
42
- t0 = t2;
43
- } else {
44
- t1 = t2;
45
- }
46
- }
47
-
48
- return t2;
49
- }
50
-
51
- EasingFunction cubicBezier(const double x1, const double y1, const double x2, const double y2) {
52
- return [=](double x) {
53
- double t = solveCurveX(x, x1, x2);
54
- return sampleCurveY(t, y1, y2);
55
- };
56
- }
57
-
58
- EasingFunction cubicBezier(jsi::Runtime &rt, const jsi::Object &easingConfig) {
59
- const auto x1 = easingConfig.getProperty(rt, "x1").asNumber();
60
- const auto y1 = easingConfig.getProperty(rt, "y1").asNumber();
61
- const auto x2 = easingConfig.getProperty(rt, "x2").asNumber();
62
- const auto y2 = easingConfig.getProperty(rt, "y2").asNumber();
63
- return cubicBezier(x1, y1, x2, y2);
64
- }
65
-
66
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/easing/cubicBezier.h>
2
+
3
+ namespace reanimated::css {
4
+
5
+ double sampleCurveX(const double t, const double x1, const double x2) {
6
+ return 3 * (1 - t) * (1 - t) * t * x1 + 3 * (1 - t) * t * t * x2 + t * t * t;
7
+ }
8
+
9
+ double sampleCurveY(const double t, const double y1, const double y2) {
10
+ return 3 * (1 - t) * (1 - t) * t * y1 + 3 * (1 - t) * t * t * y2 + t * t * t;
11
+ }
12
+
13
+ double sampleCurveDerivativeX(const double t, const double x1, const double x2) {
14
+ return -6 * (1 - t) * t * x1 + 3 * (1 - t) * (1 - t) * x1 + 6 * (1 - t) * t * x2 - 6 * t * t * x2 + 3 * t * t;
15
+ }
16
+
17
+ double solveCurveX(const double x, const double x1, const double x2, const double epsilon) {
18
+ double t0 = 0.0, t1 = 1.0, t2 = x, xValue, dX;
19
+ int iterations = 0;
20
+
21
+ while (iterations < 8) {
22
+ xValue = sampleCurveX(t2, x1, x2) - x;
23
+ if (std::abs(xValue) < epsilon) {
24
+ return t2;
25
+ }
26
+ dX = sampleCurveDerivativeX(t2, x1, x2);
27
+ if (std::abs(dX) < epsilon) {
28
+ break;
29
+ }
30
+ t2 = t2 - xValue / dX;
31
+ iterations++;
32
+ }
33
+
34
+ // Fallback: Use binary search
35
+ while (t0 < t1) {
36
+ t2 = (t0 + t1) / 2.0;
37
+ xValue = sampleCurveX(t2, x1, x2);
38
+ if (std::abs(xValue - x) < epsilon) {
39
+ return t2;
40
+ }
41
+ if (x > xValue) {
42
+ t0 = t2;
43
+ } else {
44
+ t1 = t2;
45
+ }
46
+ }
47
+
48
+ return t2;
49
+ }
50
+
51
+ EasingFunction cubicBezier(const double x1, const double y1, const double x2, const double y2) {
52
+ return [=](double x) {
53
+ double t = solveCurveX(x, x1, x2);
54
+ return sampleCurveY(t, y1, y2);
55
+ };
56
+ }
57
+
58
+ EasingFunction cubicBezier(jsi::Runtime &rt, const jsi::Object &easingConfig) {
59
+ const auto x1 = easingConfig.getProperty(rt, "x1").asNumber();
60
+ const auto y1 = easingConfig.getProperty(rt, "y1").asNumber();
61
+ const auto x2 = easingConfig.getProperty(rt, "x2").asNumber();
62
+ const auto y2 = easingConfig.getProperty(rt, "y2").asNumber();
63
+ return cubicBezier(x1, y1, x2, y2);
64
+ }
65
+
66
+ } // namespace reanimated::css
@@ -1,15 +1,15 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/definitions.h>
4
-
5
- namespace reanimated::css {
6
-
7
- double sampleCurveX(double t, double x1, double x2);
8
- double sampleCurveY(double t, double y1, double y2);
9
- double sampleCurveDerivativeX(double t, double x1, double x2);
10
- double solveCurveX(double x, double x1, double x2, double epsilon = 1e-6);
11
-
12
- EasingFunction cubicBezier(double x1, double y1, double x2, double y2);
13
- EasingFunction cubicBezier(jsi::Runtime &rt, const jsi::Object &easingConfig);
14
-
15
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/definitions.h>
4
+
5
+ namespace reanimated::css {
6
+
7
+ double sampleCurveX(double t, double x1, double x2);
8
+ double sampleCurveY(double t, double y1, double y2);
9
+ double sampleCurveDerivativeX(double t, double x1, double x2);
10
+ double solveCurveX(double x, double x1, double x2, double epsilon = 1e-6);
11
+
12
+ EasingFunction cubicBezier(double x1, double y1, double x2, double y2);
13
+ EasingFunction cubicBezier(jsi::Runtime &rt, const jsi::Object &easingConfig);
14
+
15
+ } // namespace reanimated::css
@@ -1,28 +1,28 @@
1
- #include <reanimated/CSS/easing/linear.h>
2
-
3
- #include <vector>
4
-
5
- namespace reanimated::css {
6
-
7
- double
8
- interpolateValue(double x, size_t leftIdx, const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
9
- if (leftIdx == pointsX.size() - 1) {
10
- // We are exactly on the last point of the curve, we just return its y
11
- // coordinate
12
- return pointsY[leftIdx];
13
- }
14
- const auto rightIdx = leftIdx + 1;
15
- // Calculate the line equation for the line between leftIdx and rightIdx
16
- // points
17
- const auto a = (pointsY[rightIdx] - pointsY[leftIdx]) / (pointsX[rightIdx] - pointsX[leftIdx]);
18
- return pointsY[leftIdx] + a * (x - pointsX[leftIdx]);
19
- }
20
-
21
- EasingFunction linear(const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
22
- return [=](double x) {
23
- size_t leftIdx = firstSmallerOrEqual(x, pointsX);
24
- return interpolateValue(x, leftIdx, pointsX, pointsY);
25
- };
26
- }
27
-
28
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/easing/linear.h>
2
+
3
+ #include <vector>
4
+
5
+ namespace reanimated::css {
6
+
7
+ double
8
+ interpolateValue(double x, size_t leftIdx, const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
9
+ if (leftIdx == pointsX.size() - 1) {
10
+ // We are exactly on the last point of the curve, we just return its y
11
+ // coordinate
12
+ return pointsY[leftIdx];
13
+ }
14
+ const auto rightIdx = leftIdx + 1;
15
+ // Calculate the line equation for the line between leftIdx and rightIdx
16
+ // points
17
+ const auto a = (pointsY[rightIdx] - pointsY[leftIdx]) / (pointsX[rightIdx] - pointsX[leftIdx]);
18
+ return pointsY[leftIdx] + a * (x - pointsX[leftIdx]);
19
+ }
20
+
21
+ EasingFunction linear(const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
22
+ return [=](double x) {
23
+ size_t leftIdx = firstSmallerOrEqual(x, pointsX);
24
+ return interpolateValue(x, leftIdx, pointsX, pointsY);
25
+ };
26
+ }
27
+
28
+ } // namespace reanimated::css
@@ -1,15 +1,15 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/definitions.h>
4
- #include <reanimated/CSS/utils/algorithms.h>
5
-
6
- #include <vector>
7
-
8
- namespace reanimated::css {
9
-
10
- double
11
- interpolateValue(double x, std::size_t leftIdx, const std::vector<double> &arrX, const std::vector<double> &arrY);
12
-
13
- EasingFunction linear(const std::vector<double> &pointsX, const std::vector<double> &pointsY);
14
-
15
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/definitions.h>
4
+ #include <reanimated/CSS/utils/algorithms.h>
5
+
6
+ #include <vector>
7
+
8
+ namespace reanimated::css {
9
+
10
+ double
11
+ interpolateValue(double x, std::size_t leftIdx, const std::vector<double> &arrX, const std::vector<double> &arrY);
12
+
13
+ EasingFunction linear(const std::vector<double> &pointsX, const std::vector<double> &pointsY);
14
+
15
+ } // namespace reanimated::css
@@ -1,13 +1,13 @@
1
- #include <reanimated/CSS/easing/steps.h>
2
-
3
- #include <vector>
4
-
5
- namespace reanimated::css {
6
- EasingFunction steps(const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
7
- return [=](double x) {
8
- size_t stepIdx = firstSmallerOrEqual(x, pointsX);
9
- return pointsY[stepIdx];
10
- };
11
- }
12
-
13
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/easing/steps.h>
2
+
3
+ #include <vector>
4
+
5
+ namespace reanimated::css {
6
+ EasingFunction steps(const std::vector<double> &pointsX, const std::vector<double> &pointsY) {
7
+ return [=](double x) {
8
+ size_t stepIdx = firstSmallerOrEqual(x, pointsX);
9
+ return pointsY[stepIdx];
10
+ };
11
+ }
12
+
13
+ } // namespace reanimated::css
@@ -1,12 +1,12 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/definitions.h>
4
- #include <reanimated/CSS/utils/algorithms.h>
5
-
6
- #include <vector>
7
-
8
- namespace reanimated::css {
9
-
10
- EasingFunction steps(const std::vector<double> &pointsX, const std::vector<double> &pointsY);
11
-
12
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/definitions.h>
4
+ #include <reanimated/CSS/utils/algorithms.h>
5
+
6
+ #include <vector>
7
+
8
+ namespace reanimated::css {
9
+
10
+ EasingFunction steps(const std::vector<double> &pointsX, const std::vector<double> &pointsY);
11
+
12
+ } // namespace reanimated::css
@@ -1,157 +1,157 @@
1
- #include <reanimated/CSS/interpolation/InterpolatorFactory.h>
2
- #include <reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h>
3
-
4
- #include <memory>
5
- #include <string>
6
- #include <unordered_map>
7
-
8
- namespace reanimated::css {
9
-
10
- class RecordInterpolatorFactory : public PropertyInterpolatorFactory {
11
- public:
12
- explicit RecordInterpolatorFactory(const InterpolatorFactoriesRecord &factories)
13
- : PropertyInterpolatorFactory(), factories_(factories) {}
14
-
15
- const CSSValue &getDefaultValue() const override {
16
- static EmptyObjectValue emptyObjectValue;
17
- return emptyObjectValue;
18
- }
19
-
20
- std::shared_ptr<PropertyInterpolator> create(
21
- const PropertyPath &propertyPath,
22
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
23
- return std::make_shared<RecordPropertiesInterpolator>(factories_, propertyPath, viewStylesRepository);
24
- }
25
-
26
- private:
27
- // Helper private type just for a default value
28
- struct EmptyObjectValue : public CSSValue {
29
- folly::dynamic toDynamic() const override {
30
- return folly::dynamic::object;
31
- }
32
-
33
- std::string toString() const override {
34
- return "{}";
35
- }
36
- };
37
-
38
- const InterpolatorFactoriesRecord factories_;
39
- };
40
-
41
- class ArrayLikeInterpolatorFactory : public PropertyInterpolatorFactory {
42
- public:
43
- const CSSValue &getDefaultValue() const override {
44
- static EmptyArrayValue emptyArrayValue;
45
- return emptyArrayValue;
46
- }
47
-
48
- private:
49
- // Helper private type just for a default value
50
- struct EmptyArrayValue : public CSSValue {
51
- folly::dynamic toDynamic() const override {
52
- return folly::dynamic::array;
53
- }
54
-
55
- std::string toString() const override {
56
- return "[]";
57
- }
58
- };
59
- };
60
-
61
- class ArrayInterpolatorFactory : public ArrayLikeInterpolatorFactory {
62
- public:
63
- explicit ArrayInterpolatorFactory(const InterpolatorFactoriesArray &factories)
64
- : ArrayLikeInterpolatorFactory(), factories_(factories) {}
65
-
66
- std::shared_ptr<PropertyInterpolator> create(
67
- const PropertyPath &propertyPath,
68
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
69
- return std::make_shared<ArrayPropertiesInterpolator>(factories_, propertyPath, viewStylesRepository);
70
- }
71
-
72
- private:
73
- const InterpolatorFactoriesArray factories_;
74
- };
75
-
76
- class FiltersInterpolatorFactory : public ArrayLikeInterpolatorFactory {
77
- public:
78
- explicit FiltersInterpolatorFactory(const std::shared_ptr<StyleOperationInterpolators> &interpolators)
79
- : ArrayLikeInterpolatorFactory(), interpolators_(interpolators) {}
80
-
81
- std::shared_ptr<PropertyInterpolator> create(
82
- const PropertyPath &propertyPath,
83
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
84
- return std::make_shared<FilterStyleInterpolator>(propertyPath, interpolators_, viewStylesRepository);
85
- }
86
-
87
- private:
88
- const std::shared_ptr<StyleOperationInterpolators> interpolators_;
89
- };
90
-
91
- class TransformsInterpolatorFactory : public PropertyInterpolatorFactory {
92
- public:
93
- explicit TransformsInterpolatorFactory(const std::shared_ptr<StyleOperationInterpolators> &interpolators)
94
- : PropertyInterpolatorFactory(), interpolators_(interpolators) {}
95
-
96
- const CSSValue &getDefaultValue() const override {
97
- static EmptyTransformsValue emptyTransformsValue;
98
- return emptyTransformsValue;
99
- }
100
-
101
- std::shared_ptr<PropertyInterpolator> create(
102
- const PropertyPath &propertyPath,
103
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
104
- return std::make_shared<TransformsStyleInterpolator>(propertyPath, interpolators_, viewStylesRepository);
105
- }
106
-
107
- private:
108
- static TransformMatrix2D &getIdentityMatrix() {
109
- static TransformMatrix2D identityMatrix = TransformMatrix2D();
110
- return identityMatrix;
111
- }
112
-
113
- // Helper private type just for a default value
114
- struct EmptyTransformsValue : public CSSValue {
115
- folly::dynamic toDynamic() const override {
116
- return getIdentityMatrix().toDynamic();
117
- }
118
-
119
- std::string toString() const override {
120
- return getIdentityMatrix().toString();
121
- }
122
- };
123
-
124
- const std::shared_ptr<StyleOperationInterpolators> interpolators_;
125
- };
126
-
127
- // Non-template function implementations
128
- std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories) {
129
- return std::make_shared<RecordInterpolatorFactory>(factories);
130
- }
131
-
132
- std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories) {
133
- return std::make_shared<ArrayInterpolatorFactory>(factories);
134
- }
135
-
136
- std::shared_ptr<PropertyInterpolatorFactory> transforms(
137
- const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators) {
138
- StyleOperationInterpolators result;
139
- result.reserve(interpolators.size());
140
- for (const auto &[property, interpolator] : interpolators) {
141
- result.emplace(static_cast<size_t>(getTransformOperationType(property)), interpolator);
142
- }
143
- return std::make_shared<TransformsInterpolatorFactory>(
144
- std::make_shared<StyleOperationInterpolators>(std::move(result)));
145
- }
146
-
147
- std::shared_ptr<PropertyInterpolatorFactory> filters(
148
- const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators) {
149
- StyleOperationInterpolators result;
150
- result.reserve(interpolators.size());
151
- for (const auto &[property, interpolator] : interpolators) {
152
- result.emplace(static_cast<size_t>(getFilterOperationType(property)), interpolator);
153
- }
154
- return std::make_shared<FiltersInterpolatorFactory>(std::make_shared<StyleOperationInterpolators>(std::move(result)));
155
- }
156
-
157
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/interpolation/InterpolatorFactory.h>
2
+ #include <reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h>
3
+
4
+ #include <memory>
5
+ #include <string>
6
+ #include <unordered_map>
7
+
8
+ namespace reanimated::css {
9
+
10
+ class RecordInterpolatorFactory : public PropertyInterpolatorFactory {
11
+ public:
12
+ explicit RecordInterpolatorFactory(const InterpolatorFactoriesRecord &factories)
13
+ : PropertyInterpolatorFactory(), factories_(factories) {}
14
+
15
+ const CSSValue &getDefaultValue() const override {
16
+ static EmptyObjectValue emptyObjectValue;
17
+ return emptyObjectValue;
18
+ }
19
+
20
+ std::shared_ptr<PropertyInterpolator> create(
21
+ const PropertyPath &propertyPath,
22
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
23
+ return std::make_shared<RecordPropertiesInterpolator>(factories_, propertyPath, viewStylesRepository);
24
+ }
25
+
26
+ private:
27
+ // Helper private type just for a default value
28
+ struct EmptyObjectValue : public CSSValue {
29
+ folly::dynamic toDynamic() const override {
30
+ return folly::dynamic::object;
31
+ }
32
+
33
+ std::string toString() const override {
34
+ return "{}";
35
+ }
36
+ };
37
+
38
+ const InterpolatorFactoriesRecord factories_;
39
+ };
40
+
41
+ class ArrayLikeInterpolatorFactory : public PropertyInterpolatorFactory {
42
+ public:
43
+ const CSSValue &getDefaultValue() const override {
44
+ static EmptyArrayValue emptyArrayValue;
45
+ return emptyArrayValue;
46
+ }
47
+
48
+ private:
49
+ // Helper private type just for a default value
50
+ struct EmptyArrayValue : public CSSValue {
51
+ folly::dynamic toDynamic() const override {
52
+ return folly::dynamic::array;
53
+ }
54
+
55
+ std::string toString() const override {
56
+ return "[]";
57
+ }
58
+ };
59
+ };
60
+
61
+ class ArrayInterpolatorFactory : public ArrayLikeInterpolatorFactory {
62
+ public:
63
+ explicit ArrayInterpolatorFactory(const InterpolatorFactoriesArray &factories)
64
+ : ArrayLikeInterpolatorFactory(), factories_(factories) {}
65
+
66
+ std::shared_ptr<PropertyInterpolator> create(
67
+ const PropertyPath &propertyPath,
68
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
69
+ return std::make_shared<ArrayPropertiesInterpolator>(factories_, propertyPath, viewStylesRepository);
70
+ }
71
+
72
+ private:
73
+ const InterpolatorFactoriesArray factories_;
74
+ };
75
+
76
+ class FiltersInterpolatorFactory : public ArrayLikeInterpolatorFactory {
77
+ public:
78
+ explicit FiltersInterpolatorFactory(const std::shared_ptr<StyleOperationInterpolators> &interpolators)
79
+ : ArrayLikeInterpolatorFactory(), interpolators_(interpolators) {}
80
+
81
+ std::shared_ptr<PropertyInterpolator> create(
82
+ const PropertyPath &propertyPath,
83
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
84
+ return std::make_shared<FilterStyleInterpolator>(propertyPath, interpolators_, viewStylesRepository);
85
+ }
86
+
87
+ private:
88
+ const std::shared_ptr<StyleOperationInterpolators> interpolators_;
89
+ };
90
+
91
+ class TransformsInterpolatorFactory : public PropertyInterpolatorFactory {
92
+ public:
93
+ explicit TransformsInterpolatorFactory(const std::shared_ptr<StyleOperationInterpolators> &interpolators)
94
+ : PropertyInterpolatorFactory(), interpolators_(interpolators) {}
95
+
96
+ const CSSValue &getDefaultValue() const override {
97
+ static EmptyTransformsValue emptyTransformsValue;
98
+ return emptyTransformsValue;
99
+ }
100
+
101
+ std::shared_ptr<PropertyInterpolator> create(
102
+ const PropertyPath &propertyPath,
103
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
104
+ return std::make_shared<TransformsStyleInterpolator>(propertyPath, interpolators_, viewStylesRepository);
105
+ }
106
+
107
+ private:
108
+ static TransformMatrix2D &getIdentityMatrix() {
109
+ static TransformMatrix2D identityMatrix = TransformMatrix2D();
110
+ return identityMatrix;
111
+ }
112
+
113
+ // Helper private type just for a default value
114
+ struct EmptyTransformsValue : public CSSValue {
115
+ folly::dynamic toDynamic() const override {
116
+ return getIdentityMatrix().toDynamic();
117
+ }
118
+
119
+ std::string toString() const override {
120
+ return getIdentityMatrix().toString();
121
+ }
122
+ };
123
+
124
+ const std::shared_ptr<StyleOperationInterpolators> interpolators_;
125
+ };
126
+
127
+ // Non-template function implementations
128
+ std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories) {
129
+ return std::make_shared<RecordInterpolatorFactory>(factories);
130
+ }
131
+
132
+ std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories) {
133
+ return std::make_shared<ArrayInterpolatorFactory>(factories);
134
+ }
135
+
136
+ std::shared_ptr<PropertyInterpolatorFactory> transforms(
137
+ const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators) {
138
+ StyleOperationInterpolators result;
139
+ result.reserve(interpolators.size());
140
+ for (const auto &[property, interpolator] : interpolators) {
141
+ result.emplace(static_cast<size_t>(getTransformOperationType(property)), interpolator);
142
+ }
143
+ return std::make_shared<TransformsInterpolatorFactory>(
144
+ std::make_shared<StyleOperationInterpolators>(std::move(result)));
145
+ }
146
+
147
+ std::shared_ptr<PropertyInterpolatorFactory> filters(
148
+ const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators) {
149
+ StyleOperationInterpolators result;
150
+ result.reserve(interpolators.size());
151
+ for (const auto &[property, interpolator] : interpolators) {
152
+ result.emplace(static_cast<size_t>(getFilterOperationType(property)), interpolator);
153
+ }
154
+ return std::make_shared<FiltersInterpolatorFactory>(std::make_shared<StyleOperationInterpolators>(std::move(result)));
155
+ }
156
+
157
+ } // namespace reanimated::css