@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,38 +1,38 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/values/CSSValue.h>
4
-
5
- #include <string>
6
-
7
- namespace reanimated::css {
8
-
9
- struct CSSLength : public CSSResolvableValue<CSSLength, double> {
10
- double value;
11
- bool isRelative;
12
-
13
- CSSLength();
14
- explicit CSSLength(double value);
15
- explicit CSSLength(double value, bool isRelative);
16
- explicit CSSLength(const char *value);
17
- explicit CSSLength(jsi::Runtime &rt, const jsi::Value &jsiValue);
18
- explicit CSSLength(const folly::dynamic &value);
19
-
20
- static bool canConstruct(const std::string &value);
21
- static bool canConstruct(const char *value);
22
- static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
23
- static bool canConstruct(const folly::dynamic &value);
24
-
25
- folly::dynamic toDynamic() const override;
26
- std::string toString() const override;
27
- CSSLength interpolate(double progress, const CSSLength &to, const ResolvableValueInterpolationContext &context)
28
- const override;
29
- std::optional<double> resolve(const ResolvableValueInterpolationContext &context) const override;
30
-
31
- bool operator==(const CSSLength &other) const;
32
-
33
- #ifndef NDEBUG
34
- friend std::ostream &operator<<(std::ostream &os, const CSSLength &dimension);
35
- #endif // NDEBUG
36
- };
37
-
38
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/values/CSSValue.h>
4
+
5
+ #include <string>
6
+
7
+ namespace reanimated::css {
8
+
9
+ struct CSSLength : public CSSResolvableValue<CSSLength, double> {
10
+ double value;
11
+ bool isRelative;
12
+
13
+ CSSLength();
14
+ explicit CSSLength(double value);
15
+ explicit CSSLength(double value, bool isRelative);
16
+ explicit CSSLength(const char *value);
17
+ explicit CSSLength(jsi::Runtime &rt, const jsi::Value &jsiValue);
18
+ explicit CSSLength(const folly::dynamic &value);
19
+
20
+ static bool canConstruct(const std::string &value);
21
+ static bool canConstruct(const char *value);
22
+ static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
23
+ static bool canConstruct(const folly::dynamic &value);
24
+
25
+ folly::dynamic toDynamic() const override;
26
+ std::string toString() const override;
27
+ CSSLength interpolate(double progress, const CSSLength &to, const ResolvableValueInterpolationContext &context)
28
+ const override;
29
+ std::optional<double> resolve(const ResolvableValueInterpolationContext &context) const override;
30
+
31
+ bool operator==(const CSSLength &other) const;
32
+
33
+ #ifndef NDEBUG
34
+ friend std::ostream &operator<<(std::ostream &os, const CSSLength &dimension);
35
+ #endif // NDEBUG
36
+ };
37
+
38
+ } // namespace reanimated::css
@@ -1,82 +1,82 @@
1
- #include <reanimated/CSS/common/values/CSSNumber.h>
2
-
3
- #include <algorithm>
4
- #include <string>
5
-
6
- namespace reanimated::css {
7
-
8
- template <typename TDerived, typename TValue>
9
- CSSNumberBase<TDerived, TValue>::CSSNumberBase() : value(0) {}
10
-
11
- template <typename TDerived, typename TValue>
12
- CSSNumberBase<TDerived, TValue>::CSSNumberBase(TValue value) : value(value) {}
13
-
14
- template <typename TDerived, typename TValue>
15
- CSSNumberBase<TDerived, TValue>::CSSNumberBase(jsi::Runtime &rt, const jsi::Value &jsiValue) {
16
- value = static_cast<TValue>(jsiValue.asNumber());
17
- }
18
-
19
- template <typename TDerived, typename TValue>
20
- CSSNumberBase<TDerived, TValue>::CSSNumberBase(const folly::dynamic &value) {
21
- this->value = static_cast<TValue>(value.asDouble());
22
- }
23
-
24
- template <typename TDerived, typename TValue>
25
- bool CSSNumberBase<TDerived, TValue>::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
26
- return jsiValue.isNumber();
27
- }
28
-
29
- template <typename TDerived, typename TValue>
30
- bool CSSNumberBase<TDerived, TValue>::canConstruct(const folly::dynamic &value) {
31
- return value.isInt() || value.isDouble();
32
- }
33
-
34
- template <typename TDerived, typename TValue>
35
- folly::dynamic CSSNumberBase<TDerived, TValue>::toDynamic() const {
36
- return value;
37
- }
38
-
39
- template <typename TDerived, typename TValue>
40
- std::string CSSNumberBase<TDerived, TValue>::toString() const {
41
- return std::to_string(value);
42
- }
43
-
44
- template <typename TDerived, typename TValue>
45
- TDerived CSSNumberBase<TDerived, TValue>::interpolate(double progress, const TDerived &other) const {
46
- return TDerived(value + progress * (other.value - value));
47
- }
48
-
49
- template <typename TDerived, typename TValue>
50
- bool CSSNumberBase<TDerived, TValue>::operator==(const CSSNumberBase<TDerived, TValue> &other) const {
51
- return value == other.value;
52
- }
53
-
54
- CSSInteger CSSInteger::interpolate(double progress, const CSSInteger &other) const {
55
- return CSSInteger(static_cast<int>(std::round(value + progress * (other.value - value))));
56
- }
57
-
58
- template struct CSSNumberBase<CSSDouble, double>;
59
- template struct CSSNumberBase<CSSInteger, int>;
60
-
61
- #ifdef ANDROID
62
-
63
- CSSShadowRadiusAndroid::CSSShadowRadiusAndroid() : CSSNumberBase<CSSShadowRadiusAndroid, double>(1.0) {}
64
-
65
- CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(const double value)
66
- : CSSNumberBase<CSSShadowRadiusAndroid, double>(std::max(1.0, value)) {}
67
-
68
- CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(jsi::Runtime &rt, const jsi::Value &jsiValue)
69
- : CSSNumberBase<CSSShadowRadiusAndroid, double>(rt, jsiValue) {
70
- value = std::max(1.0, value);
71
- }
72
-
73
- CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(const folly::dynamic &value)
74
- : CSSNumberBase<CSSShadowRadiusAndroid, double>(value) {
75
- this->value = std::max(1.0, value.getDouble());
76
- }
77
-
78
- template struct CSSNumberBase<CSSShadowRadiusAndroid, double>;
79
-
80
- #endif
81
-
82
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/values/CSSNumber.h>
2
+
3
+ #include <algorithm>
4
+ #include <string>
5
+
6
+ namespace reanimated::css {
7
+
8
+ template <typename TDerived, typename TValue>
9
+ CSSNumberBase<TDerived, TValue>::CSSNumberBase() : value(0) {}
10
+
11
+ template <typename TDerived, typename TValue>
12
+ CSSNumberBase<TDerived, TValue>::CSSNumberBase(TValue value) : value(value) {}
13
+
14
+ template <typename TDerived, typename TValue>
15
+ CSSNumberBase<TDerived, TValue>::CSSNumberBase(jsi::Runtime &rt, const jsi::Value &jsiValue) {
16
+ value = static_cast<TValue>(jsiValue.asNumber());
17
+ }
18
+
19
+ template <typename TDerived, typename TValue>
20
+ CSSNumberBase<TDerived, TValue>::CSSNumberBase(const folly::dynamic &value) {
21
+ this->value = static_cast<TValue>(value.asDouble());
22
+ }
23
+
24
+ template <typename TDerived, typename TValue>
25
+ bool CSSNumberBase<TDerived, TValue>::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
26
+ return jsiValue.isNumber();
27
+ }
28
+
29
+ template <typename TDerived, typename TValue>
30
+ bool CSSNumberBase<TDerived, TValue>::canConstruct(const folly::dynamic &value) {
31
+ return value.isInt() || value.isDouble();
32
+ }
33
+
34
+ template <typename TDerived, typename TValue>
35
+ folly::dynamic CSSNumberBase<TDerived, TValue>::toDynamic() const {
36
+ return value;
37
+ }
38
+
39
+ template <typename TDerived, typename TValue>
40
+ std::string CSSNumberBase<TDerived, TValue>::toString() const {
41
+ return std::to_string(value);
42
+ }
43
+
44
+ template <typename TDerived, typename TValue>
45
+ TDerived CSSNumberBase<TDerived, TValue>::interpolate(double progress, const TDerived &other) const {
46
+ return TDerived(value + progress * (other.value - value));
47
+ }
48
+
49
+ template <typename TDerived, typename TValue>
50
+ bool CSSNumberBase<TDerived, TValue>::operator==(const CSSNumberBase<TDerived, TValue> &other) const {
51
+ return value == other.value;
52
+ }
53
+
54
+ CSSInteger CSSInteger::interpolate(double progress, const CSSInteger &other) const {
55
+ return CSSInteger(static_cast<int>(std::round(value + progress * (other.value - value))));
56
+ }
57
+
58
+ template struct CSSNumberBase<CSSDouble, double>;
59
+ template struct CSSNumberBase<CSSInteger, int>;
60
+
61
+ #ifdef ANDROID
62
+
63
+ CSSShadowRadiusAndroid::CSSShadowRadiusAndroid() : CSSNumberBase<CSSShadowRadiusAndroid, double>(1.0) {}
64
+
65
+ CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(const double value)
66
+ : CSSNumberBase<CSSShadowRadiusAndroid, double>(std::max(1.0, value)) {}
67
+
68
+ CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(jsi::Runtime &rt, const jsi::Value &jsiValue)
69
+ : CSSNumberBase<CSSShadowRadiusAndroid, double>(rt, jsiValue) {
70
+ value = std::max(1.0, value);
71
+ }
72
+
73
+ CSSShadowRadiusAndroid::CSSShadowRadiusAndroid(const folly::dynamic &value)
74
+ : CSSNumberBase<CSSShadowRadiusAndroid, double>(value) {
75
+ this->value = std::max(1.0, value.getDouble());
76
+ }
77
+
78
+ template struct CSSNumberBase<CSSShadowRadiusAndroid, double>;
79
+
80
+ #endif
81
+
82
+ } // namespace reanimated::css
@@ -1,63 +1,63 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/values/CSSValue.h>
4
-
5
- #include <string>
6
-
7
- namespace reanimated::css {
8
-
9
- template <typename TDerived, typename TValue>
10
- struct CSSNumberBase : public CSSSimpleValue<TDerived> {
11
- TValue value;
12
-
13
- CSSNumberBase();
14
- explicit CSSNumberBase(TValue value);
15
- explicit CSSNumberBase(jsi::Runtime &rt, const jsi::Value &jsiValue);
16
- explicit CSSNumberBase(const folly::dynamic &value);
17
-
18
- static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
19
- static bool canConstruct(const folly::dynamic &value);
20
-
21
- folly::dynamic toDynamic() const override;
22
- std::string toString() const override;
23
- TDerived interpolate(double progress, const TDerived &other) const override;
24
-
25
- bool operator==(const CSSNumberBase<TDerived, TValue> &other) const;
26
- };
27
-
28
- #ifndef NDEBUG
29
-
30
- template <typename TDerived, typename TValue>
31
- std::ostream &operator<<(std::ostream &os, const CSSNumberBase<TDerived, TValue> &numberValue) {
32
- os << "CSSNumberBase(" << numberValue.toString() << ")";
33
- return os;
34
- }
35
-
36
- #endif // NDEBUG
37
-
38
- struct CSSDouble : public CSSNumberBase<CSSDouble, double> {
39
- // Inherit all constructors from the base class
40
- using CSSNumberBase::CSSNumberBase;
41
- };
42
- struct CSSInteger : public CSSNumberBase<CSSInteger, int> {
43
- // Inherit all constructors from the base class
44
- using CSSNumberBase::CSSNumberBase;
45
-
46
- CSSInteger interpolate(double progress, const CSSInteger &other) const override;
47
- };
48
-
49
- #ifdef ANDROID
50
-
51
- // For some reason Android crashes when blurRadius is smaller than 1 so we use a
52
- // custom value that will never be smaller than 1
53
-
54
- struct CSSShadowRadiusAndroid : public CSSNumberBase<CSSShadowRadiusAndroid, double> {
55
- CSSShadowRadiusAndroid();
56
- explicit CSSShadowRadiusAndroid(double value);
57
- explicit CSSShadowRadiusAndroid(jsi::Runtime &rt, const jsi::Value &jsiValue);
58
- explicit CSSShadowRadiusAndroid(const folly::dynamic &value);
59
- };
60
-
61
- #endif
62
-
63
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/values/CSSValue.h>
4
+
5
+ #include <string>
6
+
7
+ namespace reanimated::css {
8
+
9
+ template <typename TDerived, typename TValue>
10
+ struct CSSNumberBase : public CSSSimpleValue<TDerived> {
11
+ TValue value;
12
+
13
+ CSSNumberBase();
14
+ explicit CSSNumberBase(TValue value);
15
+ explicit CSSNumberBase(jsi::Runtime &rt, const jsi::Value &jsiValue);
16
+ explicit CSSNumberBase(const folly::dynamic &value);
17
+
18
+ static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
19
+ static bool canConstruct(const folly::dynamic &value);
20
+
21
+ folly::dynamic toDynamic() const override;
22
+ std::string toString() const override;
23
+ TDerived interpolate(double progress, const TDerived &other) const override;
24
+
25
+ bool operator==(const CSSNumberBase<TDerived, TValue> &other) const;
26
+ };
27
+
28
+ #ifndef NDEBUG
29
+
30
+ template <typename TDerived, typename TValue>
31
+ std::ostream &operator<<(std::ostream &os, const CSSNumberBase<TDerived, TValue> &numberValue) {
32
+ os << "CSSNumberBase(" << numberValue.toString() << ")";
33
+ return os;
34
+ }
35
+
36
+ #endif // NDEBUG
37
+
38
+ struct CSSDouble : public CSSNumberBase<CSSDouble, double> {
39
+ // Inherit all constructors from the base class
40
+ using CSSNumberBase::CSSNumberBase;
41
+ };
42
+ struct CSSInteger : public CSSNumberBase<CSSInteger, int> {
43
+ // Inherit all constructors from the base class
44
+ using CSSNumberBase::CSSNumberBase;
45
+
46
+ CSSInteger interpolate(double progress, const CSSInteger &other) const override;
47
+ };
48
+
49
+ #ifdef ANDROID
50
+
51
+ // For some reason Android crashes when blurRadius is smaller than 1 so we use a
52
+ // custom value that will never be smaller than 1
53
+
54
+ struct CSSShadowRadiusAndroid : public CSSNumberBase<CSSShadowRadiusAndroid, double> {
55
+ CSSShadowRadiusAndroid();
56
+ explicit CSSShadowRadiusAndroid(double value);
57
+ explicit CSSShadowRadiusAndroid(jsi::Runtime &rt, const jsi::Value &jsiValue);
58
+ explicit CSSShadowRadiusAndroid(const folly::dynamic &value);
59
+ };
60
+
61
+ #endif
62
+
63
+ } // namespace reanimated::css
@@ -1,118 +1,118 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/misc/ViewStylesRepository.h>
4
-
5
- #include <memory>
6
- #include <string>
7
- #include <type_traits>
8
-
9
- namespace reanimated::css {
10
-
11
- using namespace facebook;
12
-
13
- enum class RelativeTo : std::uint8_t {
14
- Parent,
15
- Self,
16
- };
17
-
18
- struct ValueInterpolationContext {
19
- const std::shared_ptr<const ShadowNode> &node;
20
- const double fallbackInterpolateThreshold;
21
- };
22
-
23
- struct ResolvableValueInterpolationContext {
24
- const std::shared_ptr<const ShadowNode> &node;
25
- const double fallbackInterpolateThreshold;
26
- const std::shared_ptr<ViewStylesRepository> &viewStylesRepository;
27
- const std::string &relativeProperty;
28
- const RelativeTo relativeTo;
29
- };
30
-
31
- struct CSSValue {
32
- // This field should be overridden in discrete value types
33
- static constexpr bool is_discrete_value = false;
34
-
35
- virtual ~CSSValue() = default;
36
-
37
- virtual folly::dynamic toDynamic() const = 0;
38
- virtual std::string toString() const = 0;
39
- };
40
-
41
- // Base for leaf values that can be interpolated without resolution
42
- template <typename TDerived>
43
- struct CSSSimpleValue : public CSSValue {
44
- static constexpr bool is_resolvable_value = false;
45
-
46
- virtual TDerived interpolate(double progress, const TDerived &to) const = 0;
47
- virtual bool canInterpolateTo(const TDerived &to) const {
48
- return true;
49
- }
50
- };
51
-
52
- // Base for leaf values that need resolution before interpolation
53
- template <typename TDerived, typename TResolved = TDerived>
54
- struct CSSResolvableValue : public CSSValue {
55
- static constexpr bool is_resolvable_value = true;
56
-
57
- virtual TDerived interpolate(double progress, const TDerived &to, const ResolvableValueInterpolationContext &context)
58
- const = 0;
59
- virtual std::optional<TResolved> resolve(const ResolvableValueInterpolationContext &context) const = 0;
60
- virtual bool canInterpolateTo(const TDerived &to) const {
61
- return true;
62
- }
63
- };
64
-
65
- // Checks if a type is a resolvable value that needs resolution before
66
- // interpolation
67
- //template <typename TCSSValue>
68
- //concept Resolvable = requires {
69
- // { TCSSValue::is_resolvable_value } -> std::convertible_to<bool>;
70
- // requires TCSSValue::is_resolvable_value == true;
71
- //};
72
- //TODO
73
- namespace detail {
74
- template <typename T>
75
- auto test_resolvable(int) -> std::enable_if_t<
76
- std::is_convertible_v<decltype(T::is_resolvable_value), bool> &&
77
- T::is_resolvable_value == true,
78
- std::true_type
79
- >;
80
- template <typename>
81
- auto test_resolvable(...) -> std::false_type;
82
- }
83
-
84
- template <typename TCSSValue>
85
- constexpr bool Resolvable = decltype(detail::test_resolvable<TCSSValue>(0))::value;
86
-
87
-
88
-
89
- // Checks if a type is a discrete value
90
- //template <typename TCSSValue>
91
- //concept Discrete = requires {
92
- // { TCSSValue::is_discrete_value } -> std::convertible_to<bool>;
93
- // requires TCSSValue::is_discrete_value == true;
94
- //};
95
- //TODO
96
- namespace detail {
97
- template <typename T>
98
- auto test_discrete(int) -> std::enable_if_t<
99
- std::is_convertible_v<decltype(T::is_discrete_value), bool> &&
100
- T::is_discrete_value == true,
101
- std::true_type
102
- >;
103
- template <typename>
104
- auto test_discrete(...) -> std::false_type;
105
- }
106
-
107
- template <typename TCSSValue>
108
- constexpr bool Discrete = decltype(detail::test_discrete<TCSSValue>(0))::value;
109
-
110
-
111
- // Check if a type is derived from CSSValue
112
- //template <typename TCSSValue>
113
- //concept CSSValueDerived = std::is_base_of_v<CSSValue, TCSSValue>;
114
- //TODO
115
- template<typename TCSSValue>
116
- constexpr bool CSSValueDerived = std::is_base_of_v<CSSValue, TCSSValue>;
117
-
118
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/misc/ViewStylesRepository.h>
4
+
5
+ #include <memory>
6
+ #include <string>
7
+ #include <type_traits>
8
+
9
+ namespace reanimated::css {
10
+
11
+ using namespace facebook;
12
+
13
+ enum class RelativeTo : std::uint8_t {
14
+ Parent,
15
+ Self,
16
+ };
17
+
18
+ struct ValueInterpolationContext {
19
+ const std::shared_ptr<const ShadowNode> &node;
20
+ const double fallbackInterpolateThreshold;
21
+ };
22
+
23
+ struct ResolvableValueInterpolationContext {
24
+ const std::shared_ptr<const ShadowNode> &node;
25
+ const double fallbackInterpolateThreshold;
26
+ const std::shared_ptr<ViewStylesRepository> &viewStylesRepository;
27
+ const std::string &relativeProperty;
28
+ const RelativeTo relativeTo;
29
+ };
30
+
31
+ struct CSSValue {
32
+ // This field should be overridden in discrete value types
33
+ static constexpr bool is_discrete_value = false;
34
+
35
+ virtual ~CSSValue() = default;
36
+
37
+ virtual folly::dynamic toDynamic() const = 0;
38
+ virtual std::string toString() const = 0;
39
+ };
40
+
41
+ // Base for leaf values that can be interpolated without resolution
42
+ template <typename TDerived>
43
+ struct CSSSimpleValue : public CSSValue {
44
+ static constexpr bool is_resolvable_value = false;
45
+
46
+ virtual TDerived interpolate(double progress, const TDerived &to) const = 0;
47
+ virtual bool canInterpolateTo(const TDerived &to) const {
48
+ return true;
49
+ }
50
+ };
51
+
52
+ // Base for leaf values that need resolution before interpolation
53
+ template <typename TDerived, typename TResolved = TDerived>
54
+ struct CSSResolvableValue : public CSSValue {
55
+ static constexpr bool is_resolvable_value = true;
56
+
57
+ virtual TDerived interpolate(double progress, const TDerived &to, const ResolvableValueInterpolationContext &context)
58
+ const = 0;
59
+ virtual std::optional<TResolved> resolve(const ResolvableValueInterpolationContext &context) const = 0;
60
+ virtual bool canInterpolateTo(const TDerived &to) const {
61
+ return true;
62
+ }
63
+ };
64
+
65
+ // Checks if a type is a resolvable value that needs resolution before
66
+ // interpolation
67
+ //template <typename TCSSValue>
68
+ //concept Resolvable = requires {
69
+ // { TCSSValue::is_resolvable_value } -> std::convertible_to<bool>;
70
+ // requires TCSSValue::is_resolvable_value == true;
71
+ //};
72
+ //TODO
73
+ namespace detail {
74
+ template <typename T>
75
+ auto test_resolvable(int) -> std::enable_if_t<
76
+ std::is_convertible_v<decltype(T::is_resolvable_value), bool> &&
77
+ T::is_resolvable_value == true,
78
+ std::true_type
79
+ >;
80
+ template <typename>
81
+ auto test_resolvable(...) -> std::false_type;
82
+ }
83
+
84
+ template <typename TCSSValue>
85
+ constexpr bool Resolvable = decltype(detail::test_resolvable<TCSSValue>(0))::value;
86
+
87
+
88
+
89
+ // Checks if a type is a discrete value
90
+ //template <typename TCSSValue>
91
+ //concept Discrete = requires {
92
+ // { TCSSValue::is_discrete_value } -> std::convertible_to<bool>;
93
+ // requires TCSSValue::is_discrete_value == true;
94
+ //};
95
+ //TODO
96
+ namespace detail {
97
+ template <typename T>
98
+ auto test_discrete(int) -> std::enable_if_t<
99
+ std::is_convertible_v<decltype(T::is_discrete_value), bool> &&
100
+ T::is_discrete_value == true,
101
+ std::true_type
102
+ >;
103
+ template <typename>
104
+ auto test_discrete(...) -> std::false_type;
105
+ }
106
+
107
+ template <typename TCSSValue>
108
+ constexpr bool Discrete = decltype(detail::test_discrete<TCSSValue>(0))::value;
109
+
110
+
111
+ // Check if a type is derived from CSSValue
112
+ //template <typename TCSSValue>
113
+ //concept CSSValueDerived = std::is_base_of_v<CSSValue, TCSSValue>;
114
+ //TODO
115
+ template<typename TCSSValue>
116
+ constexpr bool CSSValueDerived = std::is_base_of_v<CSSValue, TCSSValue>;
117
+
118
+ } // namespace reanimated::css