@react-native-ohos/react-native-reanimated 4.0.0-rc.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 +16 -16
  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 -93
  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 -44
  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 -110
  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 -1376
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
  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 -230
  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 -68
  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 -79
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,224 +1,224 @@
1
- #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
2
-
3
- #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
- #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
- #include <reanimated/CSS/common/values/CSSAngle.h>
6
- #include <reanimated/CSS/common/values/CSSLength.h>
7
- #include <reanimated/CSS/common/values/CSSNumber.h>
8
-
9
- #include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
10
- #include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
11
- #include <reanimated/CSS/interpolation/transforms/operations/rotate.h>
12
- #include <reanimated/CSS/interpolation/transforms/operations/scale.h>
13
- #include <reanimated/CSS/interpolation/transforms/operations/skew.h>
14
- #include <reanimated/CSS/interpolation/transforms/operations/translate.h>
15
-
16
- #include <utility>
17
-
18
- namespace reanimated::css {
19
-
20
- std::string createConversionErrorMessage(const TransformOp fromType, const TransformOp toType) {
21
- return "[Reanimated] Cannot convert transform operation of type: " + getTransformOperationName(fromType) +
22
- " to type: " + getTransformOperationName(toType);
23
- }
24
-
25
- TransformOperation::TransformOperation(TransformOp type) : StyleOperation(static_cast<uint8_t>(type)) {}
26
-
27
- bool TransformOperation::canConvertTo(const TransformOp targetType) const {
28
- return false;
29
- }
30
-
31
- void TransformOperation::assertCanConvertTo(const TransformOp targetType) const {
32
- if (!canConvertTo(targetType)) {
33
- throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
34
- }
35
- }
36
-
37
- TransformOperations TransformOperation::convertTo(const TransformOp targetType) const {
38
- throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
39
- }
40
-
41
- std::string TransformOperation::getOperationName() const {
42
- return getTransformOperationName(static_cast<TransformOp>(type));
43
- }
44
-
45
- bool TransformOperation::is3D() const {
46
- return false;
47
- }
48
-
49
- std::shared_ptr<TransformOperation> TransformOperation::fromJSIValue(jsi::Runtime &rt, const jsi::Value &value) {
50
- if (!value.isObject()) {
51
- throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
52
- }
53
-
54
- jsi::Object obj = value.asObject(rt);
55
- auto propertyNames = obj.getPropertyNames(rt);
56
-
57
- if (propertyNames.size(rt) != 1) {
58
- throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
59
- }
60
-
61
- const auto propertyName = propertyNames.getValueAtIndex(rt, 0).asString(rt).utf8(rt);
62
- const auto propertyValue = obj.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName));
63
- const TransformOp operationType = getTransformOperationType(propertyName);
64
-
65
- switch (operationType) {
66
- case TransformOp::Perspective:
67
- return std::make_shared<PerspectiveOperation>(propertyValue.asNumber());
68
- case TransformOp::Rotate:
69
- return std::make_shared<RotateOperation>(propertyValue.asString(rt).utf8(rt));
70
- case TransformOp::RotateX:
71
- return std::make_shared<RotateXOperation>(propertyValue.asString(rt).utf8(rt));
72
- case TransformOp::RotateY:
73
- return std::make_shared<RotateYOperation>(propertyValue.asString(rt).utf8(rt));
74
- case TransformOp::RotateZ:
75
- return std::make_shared<RotateZOperation>(propertyValue.asString(rt).utf8(rt));
76
- case TransformOp::Scale:
77
- return std::make_shared<ScaleOperation>(propertyValue.asNumber());
78
- case TransformOp::ScaleX:
79
- return std::make_shared<ScaleXOperation>(propertyValue.asNumber());
80
- case TransformOp::ScaleY:
81
- return std::make_shared<ScaleYOperation>(propertyValue.asNumber());
82
- case TransformOp::TranslateX: {
83
- if (propertyValue.isNumber()) {
84
- return std::make_shared<TranslateXOperation>(propertyValue.asNumber());
85
- }
86
- return std::make_shared<TranslateXOperation>(propertyValue.asString(rt).utf8(rt));
87
- }
88
- case TransformOp::TranslateY: {
89
- if (propertyValue.isNumber()) {
90
- return std::make_shared<TranslateYOperation>(propertyValue.asNumber());
91
- }
92
- return std::make_shared<TranslateYOperation>(propertyValue.asString(rt).utf8(rt));
93
- }
94
- case TransformOp::SkewX:
95
- return std::make_shared<SkewXOperation>(propertyValue.asString(rt).utf8(rt));
96
- case TransformOp::SkewY:
97
- return std::make_shared<SkewYOperation>(propertyValue.asString(rt).utf8(rt));
98
- case TransformOp::Matrix:
99
- return std::make_shared<MatrixOperation>(rt, propertyValue);
100
- default:
101
- throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
102
- }
103
- }
104
-
105
- std::shared_ptr<TransformOperation> TransformOperation::fromDynamic(const folly::dynamic &value) {
106
- if (!value.isObject()) {
107
- throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
108
- }
109
-
110
- auto &obj = value;
111
- if (obj.size() != 1) {
112
- throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
113
- }
114
-
115
- auto propertyName = obj.items().begin()->first.getString();
116
- auto propertyValue = obj.items().begin()->second;
117
- const TransformOp operationType = getTransformOperationType(propertyName);
118
-
119
- switch (operationType) {
120
- case TransformOp::Perspective:
121
- return std::make_shared<PerspectiveOperation>(propertyValue.getDouble());
122
- case TransformOp::Rotate:
123
- return std::make_shared<RotateOperation>(propertyValue.getString());
124
- case TransformOp::RotateX:
125
- return std::make_shared<RotateXOperation>(propertyValue.getString());
126
- case TransformOp::RotateY:
127
- return std::make_shared<RotateYOperation>(propertyValue.getString());
128
- case TransformOp::RotateZ:
129
- return std::make_shared<RotateZOperation>(propertyValue.getString());
130
- case TransformOp::Scale:
131
- return std::make_shared<ScaleOperation>(propertyValue.getDouble());
132
- case TransformOp::ScaleX:
133
- return std::make_shared<ScaleXOperation>(propertyValue.getDouble());
134
- case TransformOp::ScaleY:
135
- return std::make_shared<ScaleYOperation>(propertyValue.getDouble());
136
- case TransformOp::TranslateX: {
137
- if (propertyValue.isNumber()) {
138
- return std::make_shared<TranslateXOperation>(propertyValue.getDouble());
139
- }
140
- return std::make_shared<TranslateXOperation>(propertyValue.getString());
141
- }
142
- case TransformOp::TranslateY: {
143
- if (propertyValue.isNumber()) {
144
- return std::make_shared<TranslateYOperation>(propertyValue.getDouble());
145
- }
146
- return std::make_shared<TranslateYOperation>(propertyValue.getString());
147
- }
148
- case TransformOp::SkewX:
149
- return std::make_shared<SkewXOperation>(propertyValue.getString());
150
- case TransformOp::SkewY:
151
- return std::make_shared<SkewYOperation>(propertyValue.getString());
152
- case TransformOp::Matrix:
153
- return std::make_shared<MatrixOperation>(propertyValue);
154
- default:
155
- throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
156
- }
157
- }
158
-
159
- // TransformOperationBase implementation
160
- template <TransformOp TOperation, typename TValue>
161
- TransformOperationBase<TOperation, TValue>::TransformOperationBase(TValue value)
162
- : TransformOperation(TOperation), value(std::move(value)) {}
163
-
164
- template <TransformOp TOperation, typename TValue>
165
- TransformMatrix::Shared TransformOperationBase<TOperation, TValue>::toMatrix(bool force3D) const {
166
- if constexpr (Resolvable<TValue>) {
167
- // Handle resolvable operations
168
- throw std::runtime_error("[Reanimated] Cannot convert resolvable operation to matrix: " + getOperationName());
169
- } else {
170
- // Handle regular operations
171
- const auto shouldBe3D = this->is3D() || force3D;
172
-
173
- if (cachedMatrix_) {
174
- const auto resultDimension = shouldBe3D ? MATRIX_3D_DIMENSION : MATRIX_2D_DIMENSION;
175
- if (cachedMatrix_->getDimension() == resultDimension) {
176
- return cachedMatrix_;
177
- }
178
- }
179
-
180
- TransformMatrix::Shared result;
181
- if (shouldBe3D) {
182
- result = std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TOperation>(this->value.value));
183
- } else {
184
- result = std::make_shared<const TransformMatrix2D>(TransformMatrix2D::create<TOperation>(this->value.value));
185
- }
186
-
187
- cachedMatrix_ = result;
188
- return result;
189
- }
190
- }
191
-
192
- template <TransformOp TOperation, typename TValue>
193
- folly::dynamic TransformOperationBase<TOperation, TValue>::valueToDynamic() const {
194
- return value.toDynamic();
195
- }
196
-
197
- template <TransformOp TOperation, typename TValue>
198
- bool TransformOperationBase<TOperation, TValue>::areValuesEqual(const StyleOperation &other) const {
199
- return value == static_cast<const TransformOperationBase<TOperation, TValue> &>(other).value;
200
- }
201
-
202
- // Rotate operations
203
- template struct TransformOperationBase<TransformOp::Rotate, CSSAngle>;
204
- template struct TransformOperationBase<TransformOp::RotateZ, CSSAngle>;
205
- template struct TransformOperationBase<TransformOp::RotateX, CSSAngle>;
206
- template struct TransformOperationBase<TransformOp::RotateY, CSSAngle>;
207
-
208
- // Translate operations
209
- template struct TransformOperationBase<TransformOp::TranslateX, CSSLength>;
210
- template struct TransformOperationBase<TransformOp::TranslateY, CSSLength>;
211
-
212
- // Scale operations
213
- template struct TransformOperationBase<TransformOp::ScaleX, CSSDouble>;
214
- template struct TransformOperationBase<TransformOp::ScaleY, CSSDouble>;
215
- template struct TransformOperationBase<TransformOp::Scale, CSSDouble>;
216
-
217
- // Skew operations
218
- template struct TransformOperationBase<TransformOp::SkewX, CSSAngle>;
219
- template struct TransformOperationBase<TransformOp::SkewY, CSSAngle>;
220
-
221
- // Perspective operation
222
- template struct TransformOperationBase<TransformOp::Perspective, CSSDouble>;
223
-
224
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
2
+
3
+ #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
+ #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
+ #include <reanimated/CSS/common/values/CSSAngle.h>
6
+ #include <reanimated/CSS/common/values/CSSLength.h>
7
+ #include <reanimated/CSS/common/values/CSSNumber.h>
8
+
9
+ #include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
10
+ #include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
11
+ #include <reanimated/CSS/interpolation/transforms/operations/rotate.h>
12
+ #include <reanimated/CSS/interpolation/transforms/operations/scale.h>
13
+ #include <reanimated/CSS/interpolation/transforms/operations/skew.h>
14
+ #include <reanimated/CSS/interpolation/transforms/operations/translate.h>
15
+
16
+ #include <utility>
17
+
18
+ namespace reanimated::css {
19
+
20
+ std::string createConversionErrorMessage(const TransformOp fromType, const TransformOp toType) {
21
+ return "[Reanimated] Cannot convert transform operation of type: " + getTransformOperationName(fromType) +
22
+ " to type: " + getTransformOperationName(toType);
23
+ }
24
+
25
+ TransformOperation::TransformOperation(TransformOp type) : StyleOperation(static_cast<uint8_t>(type)) {}
26
+
27
+ bool TransformOperation::canConvertTo(const TransformOp targetType) const {
28
+ return false;
29
+ }
30
+
31
+ void TransformOperation::assertCanConvertTo(const TransformOp targetType) const {
32
+ if (!canConvertTo(targetType)) {
33
+ throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
34
+ }
35
+ }
36
+
37
+ TransformOperations TransformOperation::convertTo(const TransformOp targetType) const {
38
+ throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
39
+ }
40
+
41
+ std::string TransformOperation::getOperationName() const {
42
+ return getTransformOperationName(static_cast<TransformOp>(type));
43
+ }
44
+
45
+ bool TransformOperation::is3D() const {
46
+ return false;
47
+ }
48
+
49
+ std::shared_ptr<TransformOperation> TransformOperation::fromJSIValue(jsi::Runtime &rt, const jsi::Value &value) {
50
+ if (!value.isObject()) {
51
+ throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
52
+ }
53
+
54
+ jsi::Object obj = value.asObject(rt);
55
+ auto propertyNames = obj.getPropertyNames(rt);
56
+
57
+ if (propertyNames.size(rt) != 1) {
58
+ throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
59
+ }
60
+
61
+ const auto propertyName = propertyNames.getValueAtIndex(rt, 0).asString(rt).utf8(rt);
62
+ const auto propertyValue = obj.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName));
63
+ const TransformOp operationType = getTransformOperationType(propertyName);
64
+
65
+ switch (operationType) {
66
+ case TransformOp::Perspective:
67
+ return std::make_shared<PerspectiveOperation>(propertyValue.asNumber());
68
+ case TransformOp::Rotate:
69
+ return std::make_shared<RotateOperation>(propertyValue.asString(rt).utf8(rt));
70
+ case TransformOp::RotateX:
71
+ return std::make_shared<RotateXOperation>(propertyValue.asString(rt).utf8(rt));
72
+ case TransformOp::RotateY:
73
+ return std::make_shared<RotateYOperation>(propertyValue.asString(rt).utf8(rt));
74
+ case TransformOp::RotateZ:
75
+ return std::make_shared<RotateZOperation>(propertyValue.asString(rt).utf8(rt));
76
+ case TransformOp::Scale:
77
+ return std::make_shared<ScaleOperation>(propertyValue.asNumber());
78
+ case TransformOp::ScaleX:
79
+ return std::make_shared<ScaleXOperation>(propertyValue.asNumber());
80
+ case TransformOp::ScaleY:
81
+ return std::make_shared<ScaleYOperation>(propertyValue.asNumber());
82
+ case TransformOp::TranslateX: {
83
+ if (propertyValue.isNumber()) {
84
+ return std::make_shared<TranslateXOperation>(propertyValue.asNumber());
85
+ }
86
+ return std::make_shared<TranslateXOperation>(propertyValue.asString(rt).utf8(rt));
87
+ }
88
+ case TransformOp::TranslateY: {
89
+ if (propertyValue.isNumber()) {
90
+ return std::make_shared<TranslateYOperation>(propertyValue.asNumber());
91
+ }
92
+ return std::make_shared<TranslateYOperation>(propertyValue.asString(rt).utf8(rt));
93
+ }
94
+ case TransformOp::SkewX:
95
+ return std::make_shared<SkewXOperation>(propertyValue.asString(rt).utf8(rt));
96
+ case TransformOp::SkewY:
97
+ return std::make_shared<SkewYOperation>(propertyValue.asString(rt).utf8(rt));
98
+ case TransformOp::Matrix:
99
+ return std::make_shared<MatrixOperation>(rt, propertyValue);
100
+ default:
101
+ throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
102
+ }
103
+ }
104
+
105
+ std::shared_ptr<TransformOperation> TransformOperation::fromDynamic(const folly::dynamic &value) {
106
+ if (!value.isObject()) {
107
+ throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
108
+ }
109
+
110
+ auto &obj = value;
111
+ if (obj.size() != 1) {
112
+ throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
113
+ }
114
+
115
+ auto propertyName = obj.items().begin()->first.getString();
116
+ auto propertyValue = obj.items().begin()->second;
117
+ const TransformOp operationType = getTransformOperationType(propertyName);
118
+
119
+ switch (operationType) {
120
+ case TransformOp::Perspective:
121
+ return std::make_shared<PerspectiveOperation>(propertyValue.getDouble());
122
+ case TransformOp::Rotate:
123
+ return std::make_shared<RotateOperation>(propertyValue.getString());
124
+ case TransformOp::RotateX:
125
+ return std::make_shared<RotateXOperation>(propertyValue.getString());
126
+ case TransformOp::RotateY:
127
+ return std::make_shared<RotateYOperation>(propertyValue.getString());
128
+ case TransformOp::RotateZ:
129
+ return std::make_shared<RotateZOperation>(propertyValue.getString());
130
+ case TransformOp::Scale:
131
+ return std::make_shared<ScaleOperation>(propertyValue.getDouble());
132
+ case TransformOp::ScaleX:
133
+ return std::make_shared<ScaleXOperation>(propertyValue.getDouble());
134
+ case TransformOp::ScaleY:
135
+ return std::make_shared<ScaleYOperation>(propertyValue.getDouble());
136
+ case TransformOp::TranslateX: {
137
+ if (propertyValue.isNumber()) {
138
+ return std::make_shared<TranslateXOperation>(propertyValue.getDouble());
139
+ }
140
+ return std::make_shared<TranslateXOperation>(propertyValue.getString());
141
+ }
142
+ case TransformOp::TranslateY: {
143
+ if (propertyValue.isNumber()) {
144
+ return std::make_shared<TranslateYOperation>(propertyValue.getDouble());
145
+ }
146
+ return std::make_shared<TranslateYOperation>(propertyValue.getString());
147
+ }
148
+ case TransformOp::SkewX:
149
+ return std::make_shared<SkewXOperation>(propertyValue.getString());
150
+ case TransformOp::SkewY:
151
+ return std::make_shared<SkewYOperation>(propertyValue.getString());
152
+ case TransformOp::Matrix:
153
+ return std::make_shared<MatrixOperation>(propertyValue);
154
+ default:
155
+ throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
156
+ }
157
+ }
158
+
159
+ // TransformOperationBase implementation
160
+ template <TransformOp TOperation, typename TValue>
161
+ TransformOperationBase<TOperation, TValue>::TransformOperationBase(TValue value)
162
+ : TransformOperation(TOperation), value(std::move(value)) {}
163
+
164
+ template <TransformOp TOperation, typename TValue>
165
+ TransformMatrix::Shared TransformOperationBase<TOperation, TValue>::toMatrix(bool force3D) const {
166
+ if constexpr (Resolvable<TValue>) {
167
+ // Handle resolvable operations
168
+ throw std::runtime_error("[Reanimated] Cannot convert resolvable operation to matrix: " + getOperationName());
169
+ } else {
170
+ // Handle regular operations
171
+ const auto shouldBe3D = this->is3D() || force3D;
172
+
173
+ if (cachedMatrix_) {
174
+ const auto resultDimension = shouldBe3D ? MATRIX_3D_DIMENSION : MATRIX_2D_DIMENSION;
175
+ if (cachedMatrix_->getDimension() == resultDimension) {
176
+ return cachedMatrix_;
177
+ }
178
+ }
179
+
180
+ TransformMatrix::Shared result;
181
+ if (shouldBe3D) {
182
+ result = std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TOperation>(this->value.value));
183
+ } else {
184
+ result = std::make_shared<const TransformMatrix2D>(TransformMatrix2D::create<TOperation>(this->value.value));
185
+ }
186
+
187
+ cachedMatrix_ = result;
188
+ return result;
189
+ }
190
+ }
191
+
192
+ template <TransformOp TOperation, typename TValue>
193
+ folly::dynamic TransformOperationBase<TOperation, TValue>::valueToDynamic() const {
194
+ return value.toDynamic();
195
+ }
196
+
197
+ template <TransformOp TOperation, typename TValue>
198
+ bool TransformOperationBase<TOperation, TValue>::areValuesEqual(const StyleOperation &other) const {
199
+ return value == static_cast<const TransformOperationBase<TOperation, TValue> &>(other).value;
200
+ }
201
+
202
+ // Rotate operations
203
+ template struct TransformOperationBase<TransformOp::Rotate, CSSAngle>;
204
+ template struct TransformOperationBase<TransformOp::RotateZ, CSSAngle>;
205
+ template struct TransformOperationBase<TransformOp::RotateX, CSSAngle>;
206
+ template struct TransformOperationBase<TransformOp::RotateY, CSSAngle>;
207
+
208
+ // Translate operations
209
+ template struct TransformOperationBase<TransformOp::TranslateX, CSSLength>;
210
+ template struct TransformOperationBase<TransformOp::TranslateY, CSSLength>;
211
+
212
+ // Scale operations
213
+ template struct TransformOperationBase<TransformOp::ScaleX, CSSDouble>;
214
+ template struct TransformOperationBase<TransformOp::ScaleY, CSSDouble>;
215
+ template struct TransformOperationBase<TransformOp::Scale, CSSDouble>;
216
+
217
+ // Skew operations
218
+ template struct TransformOperationBase<TransformOp::SkewX, CSSAngle>;
219
+ template struct TransformOperationBase<TransformOp::SkewY, CSSAngle>;
220
+
221
+ // Perspective operation
222
+ template struct TransformOperationBase<TransformOp::Perspective, CSSDouble>;
223
+
224
+ } // namespace reanimated::css
@@ -1,52 +1,52 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/transforms/TransformMatrix.h>
4
- #include <reanimated/CSS/common/transforms/TransformOp.h>
5
- #include <reanimated/CSS/interpolation/operations/StyleOperation.h>
6
-
7
- #include <jsi/jsi.h>
8
- #include <memory>
9
- #include <string>
10
- #include <vector>
11
-
12
- namespace reanimated::css {
13
-
14
- using namespace facebook;
15
-
16
- // Base struct for TransformOperation
17
- struct TransformOperation : public StyleOperation {
18
- explicit TransformOperation(TransformOp type);
19
-
20
- // Tells if the transform operations is 3D-only (cannot be represented in 2D)
21
- virtual bool is3D() const;
22
-
23
- std::string getOperationName() const override;
24
-
25
- static std::shared_ptr<TransformOperation> fromJSIValue(jsi::Runtime &rt, const jsi::Value &value);
26
- static std::shared_ptr<TransformOperation> fromDynamic(const folly::dynamic &value);
27
-
28
- virtual bool canConvertTo(TransformOp type) const;
29
- virtual std::vector<std::shared_ptr<TransformOperation>> convertTo(TransformOp type) const;
30
- void assertCanConvertTo(TransformOp type) const;
31
-
32
- virtual TransformMatrix::Shared toMatrix(bool force3D) const = 0;
33
- };
34
-
35
- using TransformOperations = std::vector<std::shared_ptr<TransformOperation>>;
36
-
37
- // Base implementation for transform operations (except for MatrixOperation)
38
- template <TransformOp TOperation, typename TValue>
39
- struct TransformOperationBase : public TransformOperation {
40
- const TValue value;
41
-
42
- explicit TransformOperationBase(TValue value);
43
- TransformMatrix::Shared toMatrix(bool force3D) const override;
44
-
45
- protected:
46
- mutable TransformMatrix::Shared cachedMatrix_;
47
-
48
- folly::dynamic valueToDynamic() const override;
49
- bool areValuesEqual(const StyleOperation &other) const override;
50
- };
51
-
52
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/transforms/TransformMatrix.h>
4
+ #include <reanimated/CSS/common/transforms/TransformOp.h>
5
+ #include <reanimated/CSS/interpolation/operations/StyleOperation.h>
6
+
7
+ #include <jsi/jsi.h>
8
+ #include <memory>
9
+ #include <string>
10
+ #include <vector>
11
+
12
+ namespace reanimated::css {
13
+
14
+ using namespace facebook;
15
+
16
+ // Base struct for TransformOperation
17
+ struct TransformOperation : public StyleOperation {
18
+ explicit TransformOperation(TransformOp type);
19
+
20
+ // Tells if the transform operations is 3D-only (cannot be represented in 2D)
21
+ virtual bool is3D() const;
22
+
23
+ std::string getOperationName() const override;
24
+
25
+ static std::shared_ptr<TransformOperation> fromJSIValue(jsi::Runtime &rt, const jsi::Value &value);
26
+ static std::shared_ptr<TransformOperation> fromDynamic(const folly::dynamic &value);
27
+
28
+ virtual bool canConvertTo(TransformOp type) const;
29
+ virtual std::vector<std::shared_ptr<TransformOperation>> convertTo(TransformOp type) const;
30
+ void assertCanConvertTo(TransformOp type) const;
31
+
32
+ virtual TransformMatrix::Shared toMatrix(bool force3D) const = 0;
33
+ };
34
+
35
+ using TransformOperations = std::vector<std::shared_ptr<TransformOperation>>;
36
+
37
+ // Base implementation for transform operations (except for MatrixOperation)
38
+ template <TransformOp TOperation, typename TValue>
39
+ struct TransformOperationBase : public TransformOperation {
40
+ const TValue value;
41
+
42
+ explicit TransformOperationBase(TValue value);
43
+ TransformMatrix::Shared toMatrix(bool force3D) const override;
44
+
45
+ protected:
46
+ mutable TransformMatrix::Shared cachedMatrix_;
47
+
48
+ folly::dynamic valueToDynamic() const override;
49
+ bool areValuesEqual(const StyleOperation &other) const override;
50
+ };
51
+
52
+ } // namespace reanimated::css