@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,93 +1,93 @@
1
- #include <reanimated/CSS/svg/values/SVGLength.h>
2
-
3
- #include <string>
4
-
5
- namespace reanimated::css {
6
-
7
- SVGLength::SVGLength() : value(0), isPercentage(false) {}
8
-
9
- SVGLength::SVGLength(const double value) : value(value), isPercentage(false) {}
10
-
11
- SVGLength::SVGLength(const double value, const bool isPercentage) : value(value), isPercentage(isPercentage) {}
12
-
13
- SVGLength::SVGLength(const char *value) {
14
- if (!canConstruct(value)) {
15
- throw std::invalid_argument("[Reanimated] SVGLength: Invalid value: " + std::string(value));
16
- }
17
-
18
- std::string str = value;
19
- str.pop_back();
20
- this->value = std::stod(str) / 100;
21
- this->isPercentage = true;
22
- }
23
-
24
- SVGLength::SVGLength(jsi::Runtime &rt, const jsi::Value &jsiValue) {
25
- if (jsiValue.isNumber()) {
26
- this->value = jsiValue.asNumber();
27
- this->isPercentage = false;
28
- } else {
29
- *this = SVGLength(jsiValue.asString(rt).utf8(rt));
30
- }
31
- }
32
-
33
- SVGLength::SVGLength(const folly::dynamic &value) {
34
- if (value.isNumber()) {
35
- this->value = value.getDouble();
36
- this->isPercentage = false;
37
- } else {
38
- *this = SVGLength(value.asString().c_str());
39
- }
40
- }
41
-
42
- bool SVGLength::canConstruct(const std::string &value) {
43
- return !value.empty() && value.back() == '%';
44
- }
45
-
46
- bool SVGLength::canConstruct(const char *value) {
47
- return canConstruct(std::string(value));
48
- }
49
-
50
- bool SVGLength::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
51
- return jsiValue.isNumber() || (jsiValue.isString() && canConstruct(jsiValue.getString(rt).utf8(rt)));
52
- }
53
-
54
- bool SVGLength::canConstruct(const folly::dynamic &value) {
55
- return value.isNumber() || (value.isString() && canConstruct(value.getString()));
56
- }
57
-
58
- folly::dynamic SVGLength::toDynamic() const {
59
- if (isPercentage) {
60
- return std::to_string(value * 100) + "%";
61
- }
62
- return value;
63
- }
64
-
65
- std::string SVGLength::toString() const {
66
- return std::to_string(value * (isPercentage ? 100 : 1)) + "%";
67
- }
68
-
69
- SVGLength SVGLength::interpolate(const double progress, const SVGLength &to) const {
70
- // We can interpolate SVG length values only if both values are percentages or
71
- // both are numbers. In other cases, we interpolate them as keywords.
72
- if ((isPercentage == to.isPercentage) || (isPercentage && to.value == 0) || (to.isPercentage && value == 0)) {
73
- return SVGLength(value + (to.value - value) * progress, isPercentage || to.isPercentage);
74
- }
75
-
76
- // Otherwise, we interpolate values as discrete values
77
- return progress < 0.5 ? *this : to;
78
- }
79
-
80
- bool SVGLength::operator==(const SVGLength &other) const {
81
- return value == other.value && isPercentage == other.isPercentage;
82
- }
83
-
84
- #ifndef NDEBUG
85
-
86
- std::ostream &operator<<(std::ostream &os, const SVGLength &value) {
87
- os << "SVGLength(" << value.toString() << ")";
88
- return os;
89
- }
90
-
91
- #endif // NDEBUG
92
-
93
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/svg/values/SVGLength.h>
2
+
3
+ #include <string>
4
+
5
+ namespace reanimated::css {
6
+
7
+ SVGLength::SVGLength() : value(0), isPercentage(false) {}
8
+
9
+ SVGLength::SVGLength(const double value) : value(value), isPercentage(false) {}
10
+
11
+ SVGLength::SVGLength(const double value, const bool isPercentage) : value(value), isPercentage(isPercentage) {}
12
+
13
+ SVGLength::SVGLength(const char *value) {
14
+ if (!canConstruct(value)) {
15
+ throw std::invalid_argument("[Reanimated] SVGLength: Invalid value: " + std::string(value));
16
+ }
17
+
18
+ std::string str = value;
19
+ str.pop_back();
20
+ this->value = std::stod(str) / 100;
21
+ this->isPercentage = true;
22
+ }
23
+
24
+ SVGLength::SVGLength(jsi::Runtime &rt, const jsi::Value &jsiValue) {
25
+ if (jsiValue.isNumber()) {
26
+ this->value = jsiValue.asNumber();
27
+ this->isPercentage = false;
28
+ } else {
29
+ *this = SVGLength(jsiValue.asString(rt).utf8(rt));
30
+ }
31
+ }
32
+
33
+ SVGLength::SVGLength(const folly::dynamic &value) {
34
+ if (value.isNumber()) {
35
+ this->value = value.getDouble();
36
+ this->isPercentage = false;
37
+ } else {
38
+ *this = SVGLength(value.asString().c_str());
39
+ }
40
+ }
41
+
42
+ bool SVGLength::canConstruct(const std::string &value) {
43
+ return !value.empty() && value.back() == '%';
44
+ }
45
+
46
+ bool SVGLength::canConstruct(const char *value) {
47
+ return canConstruct(std::string(value));
48
+ }
49
+
50
+ bool SVGLength::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
51
+ return jsiValue.isNumber() || (jsiValue.isString() && canConstruct(jsiValue.getString(rt).utf8(rt)));
52
+ }
53
+
54
+ bool SVGLength::canConstruct(const folly::dynamic &value) {
55
+ return value.isNumber() || (value.isString() && canConstruct(value.getString()));
56
+ }
57
+
58
+ folly::dynamic SVGLength::toDynamic() const {
59
+ if (isPercentage) {
60
+ return std::to_string(value * 100) + "%";
61
+ }
62
+ return value;
63
+ }
64
+
65
+ std::string SVGLength::toString() const {
66
+ return std::to_string(value * (isPercentage ? 100 : 1)) + "%";
67
+ }
68
+
69
+ SVGLength SVGLength::interpolate(const double progress, const SVGLength &to) const {
70
+ // We can interpolate SVG length values only if both values are percentages or
71
+ // both are numbers. In other cases, we interpolate them as keywords.
72
+ if ((isPercentage == to.isPercentage) || (isPercentage && to.value == 0) || (to.isPercentage && value == 0)) {
73
+ return SVGLength(value + (to.value - value) * progress, isPercentage || to.isPercentage);
74
+ }
75
+
76
+ // Otherwise, we interpolate values as discrete values
77
+ return progress < 0.5 ? *this : to;
78
+ }
79
+
80
+ bool SVGLength::operator==(const SVGLength &other) const {
81
+ return value == other.value && isPercentage == other.isPercentage;
82
+ }
83
+
84
+ #ifndef NDEBUG
85
+
86
+ std::ostream &operator<<(std::ostream &os, const SVGLength &value) {
87
+ os << "SVGLength(" << value.toString() << ")";
88
+ return os;
89
+ }
90
+
91
+ #endif // NDEBUG
92
+
93
+ } // namespace reanimated::css
@@ -1,36 +1,36 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/values/CSSValue.h>
4
-
5
- #include <string>
6
-
7
- namespace reanimated::css {
8
-
9
- struct SVGLength : public CSSSimpleValue<SVGLength> {
10
- double value;
11
- bool isPercentage;
12
-
13
- SVGLength();
14
- explicit SVGLength(double value);
15
- explicit SVGLength(double value, bool isPercentage);
16
- explicit SVGLength(const char *value);
17
- explicit SVGLength(jsi::Runtime &rt, const jsi::Value &jsiValue);
18
- explicit SVGLength(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
- SVGLength interpolate(double progress, const SVGLength &to) const override;
28
-
29
- bool operator==(const SVGLength &other) const;
30
-
31
- #ifndef NDEBUG
32
- friend std::ostream &operator<<(std::ostream &os, const SVGLength &dimension);
33
- #endif // NDEBUG
34
- };
35
-
36
- } // 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 SVGLength : public CSSSimpleValue<SVGLength> {
10
+ double value;
11
+ bool isPercentage;
12
+
13
+ SVGLength();
14
+ explicit SVGLength(double value);
15
+ explicit SVGLength(double value, bool isPercentage);
16
+ explicit SVGLength(const char *value);
17
+ explicit SVGLength(jsi::Runtime &rt, const jsi::Value &jsiValue);
18
+ explicit SVGLength(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
+ SVGLength interpolate(double progress, const SVGLength &to) const override;
28
+
29
+ bool operator==(const SVGLength &other) const;
30
+
31
+ #ifndef NDEBUG
32
+ friend std::ostream &operator<<(std::ostream &os, const SVGLength &dimension);
33
+ #endif // NDEBUG
34
+ };
35
+
36
+ } // namespace reanimated::css
@@ -1,110 +1,111 @@
1
- #include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
2
-
3
- #include <string>
4
- #include <vector>
5
-
6
- namespace reanimated::css {
7
-
8
- SVGStrokeDashArray::SVGStrokeDashArray() : values() {}
9
-
10
- SVGStrokeDashArray::SVGStrokeDashArray(const std::vector<SVGLength> &values) : values(values) {}
11
-
12
- SVGStrokeDashArray::SVGStrokeDashArray(jsi::Runtime &rt, const jsi::Value &jsiValue) {
13
- const auto &array = jsiValue.asObject(rt).asArray(rt);
14
- const auto arraySize = array.size(rt);
15
- values.reserve(arraySize);
16
- for (size_t i = 0; i < arraySize; ++i) {
17
- values.emplace_back(rt, array.getValueAtIndex(rt, i));
18
- }
19
- }
20
-
21
- SVGStrokeDashArray::SVGStrokeDashArray(const folly::dynamic &value) {
22
- for (const auto &value : value) {
23
- values.emplace_back(value);
24
- }
25
- }
26
-
27
- bool SVGStrokeDashArray::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
28
- if (!jsiValue.isObject() || !jsiValue.asObject(rt).isArray(rt)) {
29
- return false;
30
- }
31
- const auto &array = jsiValue.asObject(rt).asArray(rt);
32
- for (size_t i = 0; i < array.size(rt); ++i) {
33
- if (!SVGLength::canConstruct(rt, array.getValueAtIndex(rt, i))) {
34
- return false;
35
- }
36
- }
37
- return true;
38
- }
39
-
40
- bool SVGStrokeDashArray::canConstruct(const folly::dynamic &value) {
41
- return value.isArray() &&
42
- std::all_of(value.begin(), value.end(), [](const auto &value) { return SVGLength::canConstruct(value); });
43
- }
44
-
45
- folly::dynamic SVGStrokeDashArray::toDynamic() const {
46
- folly::dynamic array = folly::dynamic::array;
47
- array.reserve(values.size());
48
- for (const auto &value : values) {
49
- array.push_back(value.toDynamic());
50
- }
51
- return array;
52
- }
53
-
54
- std::string SVGStrokeDashArray::toString() const {
55
- std::stringstream ss;
56
- ss << "{";
57
- for (const auto &value : values) {
58
- ss << value.toString();
59
- if (&value != &values.back()) {
60
- ss << ", ";
61
- }
62
- }
63
- ss << "}";
64
- return ss.str();
65
- }
66
-
67
- SVGStrokeDashArray SVGStrokeDashArray::interpolate(double progress, const SVGStrokeDashArray &to) const {
68
- std::vector<SVGLength> result;
69
- auto fromValues = values;
70
- auto toValues = to.values;
71
-
72
- // If one of the arrays is empty, we take the fist value from the second
73
- // one and put it as the only element of the first (empty) array
74
- // (this is how it works on the web)
75
- if (fromValues.size() == 0 && toValues.size() > 0) {
76
- fromValues = {toValues[0]};
77
- }
78
- if (toValues.size() == 0 && fromValues.size() > 0) {
79
- toValues = {fromValues[0]};
80
- }
81
-
82
- const auto fromSize = fromValues.size();
83
- const auto toSize = toValues.size();
84
-
85
- // We need to find the least common multiple of the two arrays to get
86
- // a smooth interpolation of the dash array pattern
87
- const auto resultSize = std::lcm(fromSize, toSize);
88
- result.reserve(resultSize);
89
-
90
- for (size_t i = 0; i < resultSize; i++) {
91
- result.emplace_back(fromValues[i % fromSize].interpolate(progress, toValues[i % toSize]));
92
- }
93
-
94
- return SVGStrokeDashArray(result);
95
- }
96
-
97
- bool SVGStrokeDashArray::operator==(const SVGStrokeDashArray &other) const {
98
- return values == other.values;
99
- }
100
-
101
- #ifndef NDEBUG
102
-
103
- std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray) {
104
- os << "SVGStrokeDashArray(" << strokeDashArray.toString() << ")";
105
- return os;
106
- }
107
-
108
- #endif // NDEBUG
109
-
110
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
2
+
3
+ #include <sstream>
4
+ #include <string>
5
+ #include <vector>
6
+
7
+ namespace reanimated::css {
8
+
9
+ SVGStrokeDashArray::SVGStrokeDashArray() : values() {}
10
+
11
+ SVGStrokeDashArray::SVGStrokeDashArray(const std::vector<SVGLength> &values) : values(values) {}
12
+
13
+ SVGStrokeDashArray::SVGStrokeDashArray(jsi::Runtime &rt, const jsi::Value &jsiValue) {
14
+ const auto &array = jsiValue.asObject(rt).asArray(rt);
15
+ const auto arraySize = array.size(rt);
16
+ values.reserve(arraySize);
17
+ for (size_t i = 0; i < arraySize; ++i) {
18
+ values.emplace_back(rt, array.getValueAtIndex(rt, i));
19
+ }
20
+ }
21
+
22
+ SVGStrokeDashArray::SVGStrokeDashArray(const folly::dynamic &value) {
23
+ for (const auto &value : value) {
24
+ values.emplace_back(value);
25
+ }
26
+ }
27
+
28
+ bool SVGStrokeDashArray::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
29
+ if (!jsiValue.isObject() || !jsiValue.asObject(rt).isArray(rt)) {
30
+ return false;
31
+ }
32
+ const auto &array = jsiValue.asObject(rt).asArray(rt);
33
+ for (size_t i = 0; i < array.size(rt); ++i) {
34
+ if (!SVGLength::canConstruct(rt, array.getValueAtIndex(rt, i))) {
35
+ return false;
36
+ }
37
+ }
38
+ return true;
39
+ }
40
+
41
+ bool SVGStrokeDashArray::canConstruct(const folly::dynamic &value) {
42
+ return value.isArray() &&
43
+ std::all_of(value.begin(), value.end(), [](const auto &value) { return SVGLength::canConstruct(value); });
44
+ }
45
+
46
+ folly::dynamic SVGStrokeDashArray::toDynamic() const {
47
+ folly::dynamic array = folly::dynamic::array;
48
+ array.reserve(values.size());
49
+ for (const auto &value : values) {
50
+ array.push_back(value.toDynamic());
51
+ }
52
+ return array;
53
+ }
54
+
55
+ std::string SVGStrokeDashArray::toString() const {
56
+ std::stringstream ss;
57
+ ss << "{";
58
+ for (const auto &value : values) {
59
+ ss << value.toString();
60
+ if (&value != &values.back()) {
61
+ ss << ", ";
62
+ }
63
+ }
64
+ ss << "}";
65
+ return ss.str();
66
+ }
67
+
68
+ SVGStrokeDashArray SVGStrokeDashArray::interpolate(double progress, const SVGStrokeDashArray &to) const {
69
+ std::vector<SVGLength> result;
70
+ auto fromValues = values;
71
+ auto toValues = to.values;
72
+
73
+ // If one of the arrays is empty, we take the fist value from the second
74
+ // one and put it as the only element of the first (empty) array
75
+ // (this is how it works on the web)
76
+ if (fromValues.size() == 0 && toValues.size() > 0) {
77
+ fromValues = {toValues[0]};
78
+ }
79
+ if (toValues.size() == 0 && fromValues.size() > 0) {
80
+ toValues = {fromValues[0]};
81
+ }
82
+
83
+ const auto fromSize = fromValues.size();
84
+ const auto toSize = toValues.size();
85
+
86
+ // We need to find the least common multiple of the two arrays to get
87
+ // a smooth interpolation of the dash array pattern
88
+ const auto resultSize = std::lcm(fromSize, toSize);
89
+ result.reserve(resultSize);
90
+
91
+ for (size_t i = 0; i < resultSize; i++) {
92
+ result.emplace_back(fromValues[i % fromSize].interpolate(progress, toValues[i % toSize]));
93
+ }
94
+
95
+ return SVGStrokeDashArray(result);
96
+ }
97
+
98
+ bool SVGStrokeDashArray::operator==(const SVGStrokeDashArray &other) const {
99
+ return values == other.values;
100
+ }
101
+
102
+ #ifndef NDEBUG
103
+
104
+ std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray) {
105
+ os << "SVGStrokeDashArray(" << strokeDashArray.toString() << ")";
106
+ return os;
107
+ }
108
+
109
+ #endif // NDEBUG
110
+
111
+ } // namespace reanimated::css
@@ -1,33 +1,33 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/svg/values/SVGLength.h>
4
-
5
- #include <numeric>
6
- #include <string>
7
- #include <vector>
8
-
9
- namespace reanimated::css {
10
-
11
- struct SVGStrokeDashArray : public CSSSimpleValue<SVGStrokeDashArray> {
12
- std::vector<SVGLength> values;
13
-
14
- SVGStrokeDashArray();
15
- explicit SVGStrokeDashArray(const std::vector<SVGLength> &values);
16
- explicit SVGStrokeDashArray(jsi::Runtime &rt, const jsi::Value &jsiValue);
17
- explicit SVGStrokeDashArray(const folly::dynamic &value);
18
-
19
- static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
20
- static bool canConstruct(const folly::dynamic &value);
21
-
22
- folly::dynamic toDynamic() const override;
23
- std::string toString() const override;
24
- SVGStrokeDashArray interpolate(double progress, const SVGStrokeDashArray &to) const override;
25
-
26
- bool operator==(const SVGStrokeDashArray &other) const;
27
-
28
- #ifndef NDEBUG
29
- friend std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray);
30
- #endif // NDEBUG
31
- };
32
-
33
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/svg/values/SVGLength.h>
4
+
5
+ #include <numeric>
6
+ #include <string>
7
+ #include <vector>
8
+
9
+ namespace reanimated::css {
10
+
11
+ struct SVGStrokeDashArray : public CSSSimpleValue<SVGStrokeDashArray> {
12
+ std::vector<SVGLength> values;
13
+
14
+ SVGStrokeDashArray();
15
+ explicit SVGStrokeDashArray(const std::vector<SVGLength> &values);
16
+ explicit SVGStrokeDashArray(jsi::Runtime &rt, const jsi::Value &jsiValue);
17
+ explicit SVGStrokeDashArray(const folly::dynamic &value);
18
+
19
+ static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
20
+ static bool canConstruct(const folly::dynamic &value);
21
+
22
+ folly::dynamic toDynamic() const override;
23
+ std::string toString() const override;
24
+ SVGStrokeDashArray interpolate(double progress, const SVGStrokeDashArray &to) const override;
25
+
26
+ bool operator==(const SVGStrokeDashArray &other) const;
27
+
28
+ #ifndef NDEBUG
29
+ friend std::ostream &operator<<(std::ostream &os, const SVGStrokeDashArray &strokeDashArray);
30
+ #endif // NDEBUG
31
+ };
32
+
33
+ } // namespace reanimated::css