react-native-reanimated 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +427 -0
  2. package/Common/cpp/reanimated/CSS/{configs/interpolators/registry.h → InterpolatorRegistry.h} +0 -8
  3. package/Common/cpp/reanimated/CSS/common/definitions.h +0 -1
  4. package/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +2 -0
  5. package/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +0 -2
  6. package/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +0 -1
  7. package/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +0 -1
  8. package/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +2 -0
  9. package/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +0 -2
  10. package/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +3 -0
  11. package/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +0 -2
  12. package/Common/cpp/reanimated/CSS/common/transforms/vectors.h +0 -3
  13. package/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +4 -0
  14. package/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +0 -5
  15. package/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +2 -0
  16. package/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +0 -1
  17. package/Common/cpp/reanimated/CSS/common/values/CSSValue.h +4 -0
  18. package/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +179 -0
  19. package/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +20 -174
  20. package/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +2 -0
  21. package/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +0 -2
  22. package/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +2 -0
  23. package/Common/cpp/reanimated/CSS/core/CSSAnimation.h +0 -2
  24. package/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +2 -0
  25. package/Common/cpp/reanimated/CSS/core/CSSTransition.h +0 -1
  26. package/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +2 -0
  27. package/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +0 -1
  28. package/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +48 -11
  29. package/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +2 -0
  30. package/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +0 -1
  31. package/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +2 -0
  32. package/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +0 -1
  33. package/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +1 -1
  34. package/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +1 -1
  35. package/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +49 -0
  36. package/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +22 -24
  37. package/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +71 -0
  38. package/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +43 -0
  39. package/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +153 -0
  40. package/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +37 -165
  41. package/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +0 -3
  42. package/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +2 -0
  43. package/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +0 -1
  44. package/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +0 -2
  45. package/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +0 -3
  46. package/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +2 -0
  47. package/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +0 -4
  48. package/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +2 -0
  49. package/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +0 -2
  50. package/Common/cpp/reanimated/CSS/utils/props.h +1 -1
  51. package/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +6 -8
  52. package/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +1 -1
  53. package/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +0 -5
  54. package/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +0 -1
  55. package/android/CMakeLists.txt +4 -0
  56. package/compatibility.json +1 -1
  57. package/lib/module/Animated.js +7 -7
  58. package/lib/module/Animated.js.map +1 -1
  59. package/lib/module/Bezier.js +1 -1
  60. package/lib/module/Bezier.js.map +1 -1
  61. package/lib/module/ConfigHelper.js +1 -1
  62. package/lib/module/ConfigHelper.js.map +1 -1
  63. package/lib/module/Easing.js +1 -1
  64. package/lib/module/Easing.js.map +1 -1
  65. package/lib/module/PropAdapters.js +1 -1
  66. package/lib/module/PropAdapters.js.map +1 -1
  67. package/lib/module/ReanimatedModule/NativeReanimated.js +5 -5
  68. package/lib/module/ReanimatedModule/NativeReanimated.js.map +1 -1
  69. package/lib/module/ReanimatedModule/index.web.js +1 -1
  70. package/lib/module/ReanimatedModule/index.web.js.map +1 -1
  71. package/lib/module/ReanimatedModule/js-reanimated/JSReanimated.js +3 -3
  72. package/lib/module/ReanimatedModule/js-reanimated/JSReanimated.js.map +1 -1
  73. package/lib/module/ReanimatedModule/js-reanimated/index.js +2 -2
  74. package/lib/module/ReanimatedModule/js-reanimated/index.js.map +1 -1
  75. package/lib/module/ReanimatedModule/reanimatedModuleInstance.js +3 -3
  76. package/lib/module/ReanimatedModule/reanimatedModuleInstance.js.map +1 -1
  77. package/lib/module/ReanimatedModule/reanimatedModuleInstance.web.js +1 -1
  78. package/lib/module/ReanimatedModule/reanimatedModuleInstance.web.js.map +1 -1
  79. package/lib/module/ReducedMotion.js +2 -2
  80. package/lib/module/ReducedMotion.js.map +1 -1
  81. package/lib/module/Sensor.js +2 -2
  82. package/lib/module/Sensor.js.map +1 -1
  83. package/lib/module/SensorContainer.js +1 -1
  84. package/lib/module/SensorContainer.js.map +1 -1
  85. package/lib/module/UpdateLayoutAnimations.js +2 -2
  86. package/lib/module/UpdateLayoutAnimations.js.map +1 -1
  87. package/lib/module/ViewDescriptorsSet.js +1 -1
  88. package/lib/module/ViewDescriptorsSet.js.map +1 -1
  89. package/lib/module/WorkletEventHandler.js +2 -2
  90. package/lib/module/WorkletEventHandler.js.map +1 -1
  91. package/lib/module/animation/clamp.js +2 -2
  92. package/lib/module/animation/clamp.js.map +1 -1
  93. package/lib/module/animation/decay/decay.js +5 -5
  94. package/lib/module/animation/decay/decay.js.map +1 -1
  95. package/lib/module/animation/decay/index.js +1 -1
  96. package/lib/module/animation/decay/index.js.map +1 -1
  97. package/lib/module/animation/decay/rigidDecay.js +1 -1
  98. package/lib/module/animation/decay/rigidDecay.js.map +1 -1
  99. package/lib/module/animation/decay/rubberBandDecay.js +1 -1
  100. package/lib/module/animation/decay/rubberBandDecay.js.map +1 -1
  101. package/lib/module/animation/decay/utils.js +1 -1
  102. package/lib/module/animation/decay/utils.js.map +1 -1
  103. package/lib/module/animation/delay.js +1 -1
  104. package/lib/module/animation/delay.js.map +1 -1
  105. package/lib/module/animation/index.js +9 -9
  106. package/lib/module/animation/index.js.map +1 -1
  107. package/lib/module/animation/repeat.js +1 -1
  108. package/lib/module/animation/repeat.js.map +1 -1
  109. package/lib/module/animation/sequence.js +2 -2
  110. package/lib/module/animation/sequence.js.map +1 -1
  111. package/lib/module/animation/spring/index.js +3 -3
  112. package/lib/module/animation/spring/index.js.map +1 -1
  113. package/lib/module/animation/spring/spring.js +3 -3
  114. package/lib/module/animation/spring/spring.js.map +1 -1
  115. package/lib/module/animation/spring/springUtils.js +1 -1
  116. package/lib/module/animation/spring/springUtils.js.map +1 -1
  117. package/lib/module/animation/styleAnimation.js +4 -4
  118. package/lib/module/animation/styleAnimation.js.map +1 -1
  119. package/lib/module/animation/timing.js +2 -2
  120. package/lib/module/animation/timing.js.map +1 -1
  121. package/lib/module/animation/transformationMatrix/matrixUtils.js +1 -1
  122. package/lib/module/animation/transformationMatrix/matrixUtils.js.map +1 -1
  123. package/lib/module/animation/util.js +5 -5
  124. package/lib/module/animation/util.js.map +1 -1
  125. package/lib/module/animationBuilder.js +1 -1
  126. package/lib/module/animationBuilder.js.map +1 -1
  127. package/lib/module/common/index.js +5 -5
  128. package/lib/module/common/index.js.map +1 -1
  129. package/lib/module/common/processors/colors.js +2 -2
  130. package/lib/module/common/processors/colors.js.map +1 -1
  131. package/lib/module/common/processors/index.js +3 -3
  132. package/lib/module/common/processors/index.js.map +1 -1
  133. package/lib/module/common/processors/shadows.js +4 -4
  134. package/lib/module/common/processors/shadows.js.map +1 -1
  135. package/lib/module/common/processors/transformOrigin.js +1 -1
  136. package/lib/module/common/processors/transformOrigin.js.map +1 -1
  137. package/lib/module/common/utils/index.js +3 -3
  138. package/lib/module/common/utils/index.js.map +1 -1
  139. package/lib/module/common/utils/parsers.js +1 -1
  140. package/lib/module/common/utils/parsers.js.map +1 -1
  141. package/lib/module/component/FlatList.js +25 -14
  142. package/lib/module/component/FlatList.js.map +1 -1
  143. package/lib/module/component/Image.js +1 -1
  144. package/lib/module/component/Image.js.map +1 -1
  145. package/lib/module/component/LayoutAnimationConfig.js +15 -9
  146. package/lib/module/component/LayoutAnimationConfig.js.map +1 -1
  147. package/lib/module/component/PerformanceMonitor.js +27 -12
  148. package/lib/module/component/PerformanceMonitor.js.map +1 -1
  149. package/lib/module/component/ReducedMotionConfig.js +3 -3
  150. package/lib/module/component/ReducedMotionConfig.js.map +1 -1
  151. package/lib/module/component/ScrollView.js +7 -4
  152. package/lib/module/component/ScrollView.js.map +1 -1
  153. package/lib/module/component/Text.js +1 -1
  154. package/lib/module/component/Text.js.map +1 -1
  155. package/lib/module/component/View.js +1 -1
  156. package/lib/module/component/View.js.map +1 -1
  157. package/lib/module/core.js +4 -4
  158. package/lib/module/core.js.map +1 -1
  159. package/lib/module/createAnimatedComponent/AnimatedComponent.js +14 -14
  160. package/lib/module/createAnimatedComponent/AnimatedComponent.js.map +1 -1
  161. package/lib/module/createAnimatedComponent/InlinePropManager.js +5 -5
  162. package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
  163. package/lib/module/createAnimatedComponent/JSPropsUpdater.js +1 -1
  164. package/lib/module/createAnimatedComponent/JSPropsUpdater.js.map +1 -1
  165. package/lib/module/createAnimatedComponent/NativeEventsManager.js +2 -2
  166. package/lib/module/createAnimatedComponent/NativeEventsManager.js.map +1 -1
  167. package/lib/module/createAnimatedComponent/PropsFilter.js +5 -5
  168. package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
  169. package/lib/module/createAnimatedComponent/createAnimatedComponent.js +11 -8
  170. package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
  171. package/lib/module/createAnimatedComponent/index.js +1 -1
  172. package/lib/module/createAnimatedComponent/index.js.map +1 -1
  173. package/lib/module/css/component/AnimatedComponent.js +14 -8
  174. package/lib/module/css/component/AnimatedComponent.js.map +1 -1
  175. package/lib/module/css/component/createAnimatedComponent.js +11 -8
  176. package/lib/module/css/component/createAnimatedComponent.js.map +1 -1
  177. package/lib/module/css/component/index.js +1 -1
  178. package/lib/module/css/component/index.js.map +1 -1
  179. package/lib/module/css/component/utils.js +1 -1
  180. package/lib/module/css/component/utils.js.map +1 -1
  181. package/lib/module/css/constants/index.js +4 -4
  182. package/lib/module/css/constants/index.js.map +1 -1
  183. package/lib/module/css/easing/cubicBezier.js +1 -1
  184. package/lib/module/css/easing/cubicBezier.js.map +1 -1
  185. package/lib/module/css/easing/index.js +3 -3
  186. package/lib/module/css/easing/index.js.map +1 -1
  187. package/lib/module/css/easing/linear.js +2 -2
  188. package/lib/module/css/easing/linear.js.map +1 -1
  189. package/lib/module/css/easing/steps.js +1 -1
  190. package/lib/module/css/easing/steps.js.map +1 -1
  191. package/lib/module/css/index.js +3 -3
  192. package/lib/module/css/index.js.map +1 -1
  193. package/lib/module/css/models/CSSKeyframesRuleBase.js +1 -1
  194. package/lib/module/css/models/CSSKeyframesRuleBase.js.map +1 -1
  195. package/lib/module/css/models/index.js +1 -1
  196. package/lib/module/css/models/index.js.map +1 -1
  197. package/lib/module/css/native/index.js +6 -6
  198. package/lib/module/css/native/index.js.map +1 -1
  199. package/lib/module/css/native/keyframes/CSSKeyframesRegistry.js +1 -1
  200. package/lib/module/css/native/keyframes/CSSKeyframesRegistry.js.map +1 -1
  201. package/lib/module/css/native/keyframes/CSSKeyframesRuleImpl.js +3 -3
  202. package/lib/module/css/native/keyframes/CSSKeyframesRuleImpl.js.map +1 -1
  203. package/lib/module/css/native/keyframes/index.js +2 -2
  204. package/lib/module/css/native/keyframes/index.js.map +1 -1
  205. package/lib/module/css/native/managers/CSSAnimationsManager.js +3 -3
  206. package/lib/module/css/native/managers/CSSAnimationsManager.js.map +1 -1
  207. package/lib/module/css/native/managers/CSSManager.js +6 -6
  208. package/lib/module/css/native/managers/CSSManager.js.map +1 -1
  209. package/lib/module/css/native/managers/CSSTransitionsManager.js +2 -2
  210. package/lib/module/css/native/managers/CSSTransitionsManager.js.map +1 -1
  211. package/lib/module/css/native/managers/index.js +1 -1
  212. package/lib/module/css/native/managers/index.js.map +1 -1
  213. package/lib/module/css/native/normalization/animation/index.js +4 -4
  214. package/lib/module/css/native/normalization/animation/index.js.map +1 -1
  215. package/lib/module/css/native/normalization/animation/keyframes.js +4 -4
  216. package/lib/module/css/native/normalization/animation/keyframes.js.map +1 -1
  217. package/lib/module/css/native/normalization/animation/properties.js +1 -1
  218. package/lib/module/css/native/normalization/animation/properties.js.map +1 -1
  219. package/lib/module/css/native/normalization/animation/settings.js +4 -4
  220. package/lib/module/css/native/normalization/animation/settings.js.map +1 -1
  221. package/lib/module/css/native/normalization/common/index.js +1 -1
  222. package/lib/module/css/native/normalization/common/index.js.map +1 -1
  223. package/lib/module/css/native/normalization/common/settings.js +3 -3
  224. package/lib/module/css/native/normalization/common/settings.js.map +1 -1
  225. package/lib/module/css/native/normalization/index.js +3 -3
  226. package/lib/module/css/native/normalization/index.js.map +1 -1
  227. package/lib/module/css/native/normalization/transition/config.js +5 -5
  228. package/lib/module/css/native/normalization/transition/config.js.map +1 -1
  229. package/lib/module/css/native/normalization/transition/index.js +1 -1
  230. package/lib/module/css/native/normalization/transition/index.js.map +1 -1
  231. package/lib/module/css/native/normalization/transition/settings.js +2 -2
  232. package/lib/module/css/native/normalization/transition/settings.js.map +1 -1
  233. package/lib/module/css/native/normalization/transition/shorthand.js +3 -3
  234. package/lib/module/css/native/normalization/transition/shorthand.js.map +1 -1
  235. package/lib/module/css/native/registry.js +2 -2
  236. package/lib/module/css/native/registry.js.map +1 -1
  237. package/lib/module/css/native/style/config.js +2 -2
  238. package/lib/module/css/native/style/config.js.map +1 -1
  239. package/lib/module/css/native/style/createStyleBuilder.js +1 -1
  240. package/lib/module/css/native/style/createStyleBuilder.js.map +1 -1
  241. package/lib/module/css/native/style/index.js +3 -3
  242. package/lib/module/css/native/style/index.js.map +1 -1
  243. package/lib/module/css/native/style/processors/colors.js +1 -1
  244. package/lib/module/css/native/style/processors/colors.js.map +1 -1
  245. package/lib/module/css/native/style/processors/font.js +2 -2
  246. package/lib/module/css/native/style/processors/font.js.map +1 -1
  247. package/lib/module/css/native/style/processors/index.js +5 -5
  248. package/lib/module/css/native/style/processors/index.js.map +1 -1
  249. package/lib/module/css/native/style/processors/others.js +1 -1
  250. package/lib/module/css/native/style/processors/others.js.map +1 -1
  251. package/lib/module/css/native/style/processors/transform.js +2 -2
  252. package/lib/module/css/native/style/processors/transform.js.map +1 -1
  253. package/lib/module/css/platform.js +1 -1
  254. package/lib/module/css/platform.js.map +1 -1
  255. package/lib/module/css/platform.web.js +1 -1
  256. package/lib/module/css/platform.web.js.map +1 -1
  257. package/lib/module/css/stylesheet/index.js +2 -2
  258. package/lib/module/css/stylesheet/index.js.map +1 -1
  259. package/lib/module/css/stylesheet/stylesheet.js +1 -1
  260. package/lib/module/css/stylesheet/stylesheet.js.map +1 -1
  261. package/lib/module/css/svg/init.js +2 -2
  262. package/lib/module/css/svg/init.js.map +1 -1
  263. package/lib/module/css/svg/native/configs/circle.js +2 -2
  264. package/lib/module/css/svg/native/configs/circle.js.map +1 -1
  265. package/lib/module/css/svg/native/configs/common.js +1 -1
  266. package/lib/module/css/svg/native/configs/common.js.map +1 -1
  267. package/lib/module/css/svg/native/configs/ellipse.js +1 -1
  268. package/lib/module/css/svg/native/configs/ellipse.js.map +1 -1
  269. package/lib/module/css/svg/native/configs/index.js +5 -5
  270. package/lib/module/css/svg/native/configs/index.js.map +1 -1
  271. package/lib/module/css/svg/native/configs/line.js +1 -1
  272. package/lib/module/css/svg/native/configs/line.js.map +1 -1
  273. package/lib/module/css/svg/native/configs/path.js +1 -1
  274. package/lib/module/css/svg/native/configs/path.js.map +1 -1
  275. package/lib/module/css/svg/native/configs/rect.js +1 -1
  276. package/lib/module/css/svg/native/configs/rect.js.map +1 -1
  277. package/lib/module/css/svg/native/index.js +1 -1
  278. package/lib/module/css/svg/native/index.js.map +1 -1
  279. package/lib/module/css/svg/native/processors/colors.js +1 -1
  280. package/lib/module/css/svg/native/processors/colors.js.map +1 -1
  281. package/lib/module/css/svg/native/processors/index.js +4 -4
  282. package/lib/module/css/svg/native/processors/index.js.map +1 -1
  283. package/lib/module/css/svg/native/processors/stroke.js +2 -2
  284. package/lib/module/css/svg/native/processors/stroke.js.map +1 -1
  285. package/lib/module/css/utils/guards.js +1 -1
  286. package/lib/module/css/utils/guards.js.map +1 -1
  287. package/lib/module/css/utils/index.js +5 -5
  288. package/lib/module/css/utils/index.js.map +1 -1
  289. package/lib/module/css/utils/parsers.js +2 -2
  290. package/lib/module/css/utils/parsers.js.map +1 -1
  291. package/lib/module/css/utils/props.js +3 -3
  292. package/lib/module/css/utils/props.js.map +1 -1
  293. package/lib/module/css/web/animationParser.js +4 -4
  294. package/lib/module/css/web/animationParser.js.map +1 -1
  295. package/lib/module/css/web/config.js +2 -2
  296. package/lib/module/css/web/config.js.map +1 -1
  297. package/lib/module/css/web/domUtils.js +1 -1
  298. package/lib/module/css/web/domUtils.js.map +1 -1
  299. package/lib/module/css/web/index.js +6 -6
  300. package/lib/module/css/web/index.js.map +1 -1
  301. package/lib/module/css/web/keyframes/CSSKeyframesRuleImpl.js +2 -2
  302. package/lib/module/css/web/keyframes/CSSKeyframesRuleImpl.js.map +1 -1
  303. package/lib/module/css/web/keyframes/index.js +1 -1
  304. package/lib/module/css/web/keyframes/index.js.map +1 -1
  305. package/lib/module/css/web/managers/CSSAnimationsManager.js +5 -5
  306. package/lib/module/css/web/managers/CSSAnimationsManager.js.map +1 -1
  307. package/lib/module/css/web/managers/CSSManager.js +3 -3
  308. package/lib/module/css/web/managers/CSSManager.js.map +1 -1
  309. package/lib/module/css/web/managers/CSSTransitionsManager.js +3 -3
  310. package/lib/module/css/web/managers/CSSTransitionsManager.js.map +1 -1
  311. package/lib/module/css/web/managers/index.js +1 -1
  312. package/lib/module/css/web/managers/index.js.map +1 -1
  313. package/lib/module/css/web/normalization/index.js +1 -1
  314. package/lib/module/css/web/normalization/index.js.map +1 -1
  315. package/lib/module/css/web/normalization/transition.js +1 -1
  316. package/lib/module/css/web/normalization/transition.js.map +1 -1
  317. package/lib/module/css/web/style/builderFactories.js +2 -2
  318. package/lib/module/css/web/style/builderFactories.js.map +1 -1
  319. package/lib/module/css/web/style/builders/index.js +1 -1
  320. package/lib/module/css/web/style/builders/index.js.map +1 -1
  321. package/lib/module/css/web/style/builders/shadows.js +4 -4
  322. package/lib/module/css/web/style/builders/shadows.js.map +1 -1
  323. package/lib/module/css/web/style/index.js +3 -3
  324. package/lib/module/css/web/style/index.js.map +1 -1
  325. package/lib/module/css/web/style/processors/colors.js +2 -2
  326. package/lib/module/css/web/style/processors/colors.js.map +1 -1
  327. package/lib/module/css/web/style/processors/filter.js +1 -1
  328. package/lib/module/css/web/style/processors/filter.js.map +1 -1
  329. package/lib/module/css/web/style/processors/font.js +1 -1
  330. package/lib/module/css/web/style/processors/font.js.map +1 -1
  331. package/lib/module/css/web/style/processors/index.js +6 -6
  332. package/lib/module/css/web/style/processors/index.js.map +1 -1
  333. package/lib/module/css/web/style/processors/margins.js +1 -1
  334. package/lib/module/css/web/style/processors/margins.js.map +1 -1
  335. package/lib/module/css/web/style/processors/paddings.js +1 -1
  336. package/lib/module/css/web/style/processors/paddings.js.map +1 -1
  337. package/lib/module/css/web/style/processors/transforms.js +1 -1
  338. package/lib/module/css/web/style/processors/transforms.js.map +1 -1
  339. package/lib/module/css/web/utils.js +3 -3
  340. package/lib/module/css/web/utils.js.map +1 -1
  341. package/lib/module/culori/index.js +1 -1
  342. package/lib/module/culori/index.js.map +1 -1
  343. package/lib/module/culori/oklab.js +1 -1
  344. package/lib/module/culori/oklab.js.map +1 -1
  345. package/lib/module/fabricUtils.web.js +1 -1
  346. package/lib/module/fabricUtils.web.js.map +1 -1
  347. package/lib/module/featureFlags/index.js +1 -1
  348. package/lib/module/featureFlags/index.js.map +1 -1
  349. package/lib/module/frameCallback/FrameCallbackRegistryJS.js +1 -1
  350. package/lib/module/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
  351. package/lib/module/hook/index.js +15 -15
  352. package/lib/module/hook/index.js.map +1 -1
  353. package/lib/module/hook/useAnimatedKeyboard.js +2 -2
  354. package/lib/module/hook/useAnimatedKeyboard.js.map +1 -1
  355. package/lib/module/hook/useAnimatedProps.js +2 -2
  356. package/lib/module/hook/useAnimatedProps.js.map +1 -1
  357. package/lib/module/hook/useAnimatedReaction.js +3 -3
  358. package/lib/module/hook/useAnimatedReaction.js.map +1 -1
  359. package/lib/module/hook/useAnimatedRef.js +2 -2
  360. package/lib/module/hook/useAnimatedRef.js.map +1 -1
  361. package/lib/module/hook/useAnimatedScrollHandler.js +2 -2
  362. package/lib/module/hook/useAnimatedScrollHandler.js.map +1 -1
  363. package/lib/module/hook/useAnimatedSensor.js +2 -2
  364. package/lib/module/hook/useAnimatedSensor.js.map +1 -1
  365. package/lib/module/hook/useAnimatedStyle.js +7 -7
  366. package/lib/module/hook/useAnimatedStyle.js.map +1 -1
  367. package/lib/module/hook/useComposedEventHandler.js +3 -3
  368. package/lib/module/hook/useComposedEventHandler.js.map +1 -1
  369. package/lib/module/hook/useDerivedValue.js +3 -3
  370. package/lib/module/hook/useDerivedValue.js.map +1 -1
  371. package/lib/module/hook/useEvent.js +1 -1
  372. package/lib/module/hook/useEvent.js.map +1 -1
  373. package/lib/module/hook/useFrameCallback.js +1 -1
  374. package/lib/module/hook/useFrameCallback.js.map +1 -1
  375. package/lib/module/hook/useHandler.js +2 -2
  376. package/lib/module/hook/useHandler.js.map +1 -1
  377. package/lib/module/hook/useReducedMotion.js +1 -1
  378. package/lib/module/hook/useReducedMotion.js.map +1 -1
  379. package/lib/module/hook/useScrollOffset.js +3 -3
  380. package/lib/module/hook/useScrollOffset.js.map +1 -1
  381. package/lib/module/hook/useSharedValue.js +2 -2
  382. package/lib/module/hook/useSharedValue.js.map +1 -1
  383. package/lib/module/hook/utils.js +1 -1
  384. package/lib/module/hook/utils.js.map +1 -1
  385. package/lib/module/index.js +29 -27
  386. package/lib/module/index.js.map +1 -1
  387. package/lib/module/initializers.js +3 -3
  388. package/lib/module/initializers.js.map +1 -1
  389. package/lib/module/interpolateColor.js +6 -6
  390. package/lib/module/interpolateColor.js.map +1 -1
  391. package/lib/module/interpolation.js +1 -1
  392. package/lib/module/interpolation.js.map +1 -1
  393. package/lib/module/jestUtils.js +1 -1
  394. package/lib/module/jestUtils.js.map +1 -1
  395. package/lib/module/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +4 -4
  396. package/lib/module/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
  397. package/lib/module/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -3
  398. package/lib/module/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
  399. package/lib/module/layoutReanimation/animationBuilder/Keyframe.js +5 -5
  400. package/lib/module/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
  401. package/lib/module/layoutReanimation/animationBuilder/index.js +3 -3
  402. package/lib/module/layoutReanimation/animationBuilder/index.js.map +1 -1
  403. package/lib/module/layoutReanimation/animationsManager.js +4 -4
  404. package/lib/module/layoutReanimation/animationsManager.js.map +1 -1
  405. package/lib/module/layoutReanimation/defaultAnimations/Bounce.js +2 -2
  406. package/lib/module/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
  407. package/lib/module/layoutReanimation/defaultAnimations/Fade.js +1 -1
  408. package/lib/module/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
  409. package/lib/module/layoutReanimation/defaultAnimations/Flip.js +1 -1
  410. package/lib/module/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
  411. package/lib/module/layoutReanimation/defaultAnimations/Lightspeed.js +2 -2
  412. package/lib/module/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
  413. package/lib/module/layoutReanimation/defaultAnimations/Pinwheel.js +1 -1
  414. package/lib/module/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
  415. package/lib/module/layoutReanimation/defaultAnimations/Roll.js +1 -1
  416. package/lib/module/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
  417. package/lib/module/layoutReanimation/defaultAnimations/Rotate.js +1 -1
  418. package/lib/module/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
  419. package/lib/module/layoutReanimation/defaultAnimations/Slide.js +1 -1
  420. package/lib/module/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
  421. package/lib/module/layoutReanimation/defaultAnimations/Stretch.js +1 -1
  422. package/lib/module/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
  423. package/lib/module/layoutReanimation/defaultAnimations/Zoom.js +1 -1
  424. package/lib/module/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
  425. package/lib/module/layoutReanimation/defaultAnimations/index.js +10 -10
  426. package/lib/module/layoutReanimation/defaultAnimations/index.js.map +1 -1
  427. package/lib/module/layoutReanimation/defaultTransitions/CurvedTransition.js +4 -4
  428. package/lib/module/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
  429. package/lib/module/layoutReanimation/defaultTransitions/EntryExitTransition.js +4 -4
  430. package/lib/module/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
  431. package/lib/module/layoutReanimation/defaultTransitions/FadingTransition.js +2 -2
  432. package/lib/module/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
  433. package/lib/module/layoutReanimation/defaultTransitions/JumpingTransition.js +3 -3
  434. package/lib/module/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
  435. package/lib/module/layoutReanimation/defaultTransitions/LinearTransition.js +1 -1
  436. package/lib/module/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
  437. package/lib/module/layoutReanimation/defaultTransitions/SequencedTransition.js +2 -2
  438. package/lib/module/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
  439. package/lib/module/layoutReanimation/defaultTransitions/index.js +6 -6
  440. package/lib/module/layoutReanimation/defaultTransitions/index.js.map +1 -1
  441. package/lib/module/layoutReanimation/index.js +4 -4
  442. package/lib/module/layoutReanimation/index.js.map +1 -1
  443. package/lib/module/layoutReanimation/web/animation/Bounce.web.js +1 -1
  444. package/lib/module/layoutReanimation/web/animation/Bounce.web.js.map +1 -1
  445. package/lib/module/layoutReanimation/web/animation/Fade.web.js +1 -1
  446. package/lib/module/layoutReanimation/web/animation/Fade.web.js.map +1 -1
  447. package/lib/module/layoutReanimation/web/animation/Flip.web.js +1 -1
  448. package/lib/module/layoutReanimation/web/animation/Flip.web.js.map +1 -1
  449. package/lib/module/layoutReanimation/web/animation/Lightspeed.web.js +1 -1
  450. package/lib/module/layoutReanimation/web/animation/Lightspeed.web.js.map +1 -1
  451. package/lib/module/layoutReanimation/web/animation/Pinwheel.web.js +1 -1
  452. package/lib/module/layoutReanimation/web/animation/Pinwheel.web.js.map +1 -1
  453. package/lib/module/layoutReanimation/web/animation/Roll.web.js +1 -1
  454. package/lib/module/layoutReanimation/web/animation/Roll.web.js.map +1 -1
  455. package/lib/module/layoutReanimation/web/animation/Rotate.web.js +1 -1
  456. package/lib/module/layoutReanimation/web/animation/Rotate.web.js.map +1 -1
  457. package/lib/module/layoutReanimation/web/animation/Slide.web.js +1 -1
  458. package/lib/module/layoutReanimation/web/animation/Slide.web.js.map +1 -1
  459. package/lib/module/layoutReanimation/web/animation/Stretch.web.js +1 -1
  460. package/lib/module/layoutReanimation/web/animation/Stretch.web.js.map +1 -1
  461. package/lib/module/layoutReanimation/web/animation/Zoom.web.js +1 -1
  462. package/lib/module/layoutReanimation/web/animation/Zoom.web.js.map +1 -1
  463. package/lib/module/layoutReanimation/web/animationParser.js +1 -1
  464. package/lib/module/layoutReanimation/web/animationParser.js.map +1 -1
  465. package/lib/module/layoutReanimation/web/animationsManager.js +9 -9
  466. package/lib/module/layoutReanimation/web/animationsManager.js.map +1 -1
  467. package/lib/module/layoutReanimation/web/componentStyle.js +1 -1
  468. package/lib/module/layoutReanimation/web/componentStyle.js.map +1 -1
  469. package/lib/module/layoutReanimation/web/componentUtils.js +12 -12
  470. package/lib/module/layoutReanimation/web/componentUtils.js.map +1 -1
  471. package/lib/module/layoutReanimation/web/config.js +10 -10
  472. package/lib/module/layoutReanimation/web/config.js.map +1 -1
  473. package/lib/module/layoutReanimation/web/createAnimation.js +9 -9
  474. package/lib/module/layoutReanimation/web/createAnimation.js.map +1 -1
  475. package/lib/module/layoutReanimation/web/domUtils.js +3 -3
  476. package/lib/module/layoutReanimation/web/domUtils.js.map +1 -1
  477. package/lib/module/layoutReanimation/web/index.js +3 -3
  478. package/lib/module/layoutReanimation/web/index.js.map +1 -1
  479. package/lib/module/layoutReanimation/web/transition/Curved.web.js +2 -2
  480. package/lib/module/layoutReanimation/web/transition/Curved.web.js.map +1 -1
  481. package/lib/module/layoutReanimation/web/transition/EntryExit.web.js +1 -1
  482. package/lib/module/layoutReanimation/web/transition/EntryExit.web.js.map +1 -1
  483. package/lib/module/layoutReanimation/web/transition/Jumping.web.js +1 -1
  484. package/lib/module/layoutReanimation/web/transition/Jumping.web.js.map +1 -1
  485. package/lib/module/mappers.js +2 -2
  486. package/lib/module/mappers.js.map +1 -1
  487. package/lib/module/mock.js +1 -1
  488. package/lib/module/mock.js.map +1 -1
  489. package/lib/module/mutables.js +4 -4
  490. package/lib/module/mutables.js.map +1 -1
  491. package/lib/module/platform-specific/checkCppVersion.js +2 -2
  492. package/lib/module/platform-specific/checkCppVersion.js.map +1 -1
  493. package/lib/module/platform-specific/findHostInstance.js +1 -1
  494. package/lib/module/platform-specific/findHostInstance.js.map +1 -1
  495. package/lib/module/platform-specific/jsVersion.js +1 -1
  496. package/lib/module/platform-specific/workletsVersion.js +2 -2
  497. package/lib/module/platform-specific/workletsVersion.js.map +1 -1
  498. package/lib/module/platformFunctions/dispatchCommand.js +1 -1
  499. package/lib/module/platformFunctions/dispatchCommand.js.map +1 -1
  500. package/lib/module/platformFunctions/dispatchCommand.web.js +1 -1
  501. package/lib/module/platformFunctions/dispatchCommand.web.js.map +1 -1
  502. package/lib/module/platformFunctions/index.js +1 -1
  503. package/lib/module/platformFunctions/index.js.map +1 -1
  504. package/lib/module/platformFunctions/measure.js +1 -1
  505. package/lib/module/platformFunctions/measure.js.map +1 -1
  506. package/lib/module/platformFunctions/measure.web.js +1 -1
  507. package/lib/module/platformFunctions/measure.web.js.map +1 -1
  508. package/lib/module/platformFunctions/scrollTo.js +1 -1
  509. package/lib/module/platformFunctions/scrollTo.js.map +1 -1
  510. package/lib/module/platformFunctions/setGestureState.js +1 -1
  511. package/lib/module/platformFunctions/setGestureState.js.map +1 -1
  512. package/lib/module/platformFunctions/setGestureState.web.js +1 -1
  513. package/lib/module/platformFunctions/setGestureState.web.js.map +1 -1
  514. package/lib/module/platformFunctions/setNativeProps.js +1 -1
  515. package/lib/module/platformFunctions/setNativeProps.js.map +1 -1
  516. package/lib/module/platformFunctions/setNativeProps.web.js +1 -1
  517. package/lib/module/platformFunctions/setNativeProps.web.js.map +1 -1
  518. package/lib/module/screenTransition/RNScreensTurboModule.js +1 -1
  519. package/lib/module/screenTransition/RNScreensTurboModule.js.map +1 -1
  520. package/lib/module/screenTransition/animationManager.js +2 -2
  521. package/lib/module/screenTransition/animationManager.js.map +1 -1
  522. package/lib/module/screenTransition/index.js +2 -2
  523. package/lib/module/screenTransition/index.js.map +1 -1
  524. package/lib/module/screenTransition/styleUpdater.js +1 -1
  525. package/lib/module/screenTransition/styleUpdater.js.map +1 -1
  526. package/lib/module/screenTransition/swipeSimulator.js +2 -2
  527. package/lib/module/screenTransition/swipeSimulator.js.map +1 -1
  528. package/lib/module/specs/index.js +1 -1
  529. package/lib/module/specs/index.js.map +1 -1
  530. package/lib/module/updateProps/index.js +2 -2
  531. package/lib/module/updateProps/index.js.map +1 -1
  532. package/lib/module/updateProps/updateProps.js +3 -3
  533. package/lib/module/updateProps/updateProps.js.map +1 -1
  534. package/lib/typescript/index.d.ts.map +1 -1
  535. package/lib/typescript/initializers.d.ts.map +1 -1
  536. package/lib/typescript/platform-specific/jsVersion.d.ts +1 -1
  537. package/package.json +4 -4
  538. package/plugin/index.js +1 -3
  539. package/src/index.ts +3 -1
  540. package/src/initializers.ts +1 -0
  541. package/src/platform-specific/jsVersion.ts +1 -1
  542. package/Common/cpp/reanimated/CSS/configs/interpolators/base/common.h +0 -138
  543. package/Common/cpp/reanimated/CSS/configs/interpolators/base/image.h +0 -15
  544. package/Common/cpp/reanimated/CSS/configs/interpolators/base/text.h +0 -51
  545. package/Common/cpp/reanimated/CSS/configs/interpolators/base/view.h +0 -77
  546. package/Common/cpp/reanimated/CSS/configs/interpolators/constants.h +0 -13
  547. package/Common/cpp/reanimated/CSS/configs/interpolators/registry.cpp +0 -39
  548. package/Common/cpp/reanimated/CSS/configs/interpolators/utils.h +0 -20
  549. package/Common/cpp/reanimated/CSS/svg/configs/init.cpp +0 -15
  550. package/Common/cpp/reanimated/CSS/svg/configs/init.h +0 -15
  551. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/circle.h +0 -16
  552. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/common.h +0 -65
  553. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/ellipse.h +0 -18
  554. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/line.h +0 -17
  555. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/path.h +0 -12
  556. package/Common/cpp/reanimated/CSS/svg/configs/interpolators/rect.h +0 -19
@@ -0,0 +1,427 @@
1
+ #include <reanimated/CSS/InterpolatorRegistry.h>
2
+ #include <reanimated/Tools/FeatureFlags.h>
3
+
4
+ #include <reanimated/CSS/common/values/CSSAngle.h>
5
+ #include <reanimated/CSS/common/values/CSSBoolean.h>
6
+ #include <reanimated/CSS/common/values/CSSColor.h>
7
+ #include <reanimated/CSS/common/values/CSSDiscreteArray.h>
8
+ #include <reanimated/CSS/common/values/CSSKeyword.h>
9
+ #include <reanimated/CSS/common/values/CSSLength.h>
10
+ #include <reanimated/CSS/common/values/CSSNumber.h>
11
+ #include <reanimated/CSS/common/values/CSSValue.h>
12
+
13
+ #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
14
+
15
+ #include <reanimated/CSS/svg/values/SVGLength.h>
16
+ #include <reanimated/CSS/svg/values/SVGStrokeDashArray.h>
17
+
18
+ #include <reanimated/CSS/interpolation/InterpolatorFactory.h>
19
+ #include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
20
+ #include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
21
+ #include <reanimated/CSS/interpolation/transforms/operations/rotate.h>
22
+ #include <reanimated/CSS/interpolation/transforms/operations/scale.h>
23
+ #include <reanimated/CSS/interpolation/transforms/operations/skew.h>
24
+ #include <reanimated/CSS/interpolation/transforms/operations/translate.h>
25
+
26
+ #include <vector>
27
+
28
+ namespace reanimated::css {
29
+
30
+ namespace {
31
+
32
+ // Private implementation details
33
+ const auto BLACK = CSSColor(0, 0, 0, 255);
34
+ const auto TRANSPARENT = CSSColor::Transparent;
35
+
36
+ InterpolatorFactoriesRecord mergeInterpolators(
37
+ const std::vector<InterpolatorFactoriesRecord> &maps) {
38
+ InterpolatorFactoriesRecord result;
39
+ for (const auto &map : maps) {
40
+ result.insert(map.begin(), map.end());
41
+ }
42
+ return result;
43
+ }
44
+
45
+ // ==========================
46
+ // React Native Interpolators
47
+ // ==========================
48
+
49
+ const InterpolatorFactoriesRecord FLEX_INTERPOLATORS = {
50
+ {"alignContent", value<CSSKeyword>("flex-start")},
51
+ {"alignItems", value<CSSKeyword>("stretch")},
52
+ {"alignSelf", value<CSSKeyword>("auto")},
53
+ {"aspectRatio", value<CSSDouble, CSSKeyword>("auto")},
54
+ {"borderBottomWidth", value<CSSDouble>(0)},
55
+ {"borderEndWidth", value<CSSDouble>(0)},
56
+ {"borderLeftWidth", value<CSSDouble>(0)},
57
+ {"borderRightWidth", value<CSSDouble>(0)},
58
+ {"borderStartWidth", value<CSSDouble>(0)},
59
+ {"borderTopWidth", value<CSSDouble>(0)},
60
+ {"borderWidth", value<CSSDouble>(0)},
61
+ {"bottom",
62
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "height", "auto")},
63
+ {"boxSizing", value<CSSKeyword>("border-box")},
64
+ {"display", value<CSSDisplay>("flex")},
65
+ {"end", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
66
+ {"flex", value<CSSDouble>(0)},
67
+ {"flexBasis",
68
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
69
+ {"flexDirection", value<CSSKeyword>("column")},
70
+ {"rowGap", value<CSSLength>(RelativeTo::Self, "height", 0)},
71
+ {"columnGap", value<CSSLength>(RelativeTo::Self, "width", 0)},
72
+ {"flexGrow", value<CSSDouble>(0)},
73
+ {"flexShrink", value<CSSDouble>(0)},
74
+ {"flexWrap", value<CSSKeyword>("no-wrap")},
75
+ {"height",
76
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "height", "auto")},
77
+ {"justifyContent", value<CSSKeyword>("flex-start")},
78
+ {"left", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
79
+ {"margin", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
80
+ {"marginBottom",
81
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
82
+ {"marginEnd", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
83
+ {"marginHorizontal",
84
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
85
+ {"marginLeft",
86
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
87
+ {"marginRight",
88
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
89
+ {"marginStart",
90
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
91
+ {"marginTop", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
92
+ {"marginVertical",
93
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
94
+ {"maxHeight",
95
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "height", "auto")},
96
+ {"maxWidth",
97
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
98
+ {"minHeight",
99
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "height", "auto")},
100
+ {"minWidth",
101
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
102
+ {"overflow", value<CSSKeyword>("visible")},
103
+ {"padding", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
104
+ {"paddingBottom",
105
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
106
+ {"paddingEnd",
107
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
108
+ {"paddingHorizontal",
109
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
110
+ {"paddingLeft",
111
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
112
+ {"paddingRight",
113
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
114
+ {"paddingStart",
115
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
116
+ {"paddingTop",
117
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
118
+ {"paddingVertical",
119
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", 0)},
120
+ {"position", value<CSSKeyword>("relative")},
121
+ {"right",
122
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
123
+ {"start",
124
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
125
+ {"top", value<CSSLength, CSSKeyword>(RelativeTo::Parent, "height", "auto")},
126
+ {"width",
127
+ value<CSSLength, CSSKeyword>(RelativeTo::Parent, "width", "auto")},
128
+ {"zIndex", value<CSSInteger>(0)},
129
+ {"direction", value<CSSKeyword>("inherit")}};
130
+
131
+ const InterpolatorFactoriesRecord SHADOW_INTERPOLATORS_IOS = {
132
+ {"shadowColor", value<CSSColor>(BLACK)},
133
+ {"shadowOffset",
134
+ record({{"width", value<CSSDouble>(0)}, {"height", value<CSSDouble>(0)}})},
135
+ {"shadowRadius", value<CSSDouble>(0)},
136
+ {"shadowOpacity", value<CSSDouble>(1)}};
137
+
138
+ const InterpolatorFactoriesRecord TRANSFORMS_INTERPOLATORS = {
139
+ {"transformOrigin",
140
+ array(
141
+ {value<CSSLength>(RelativeTo::Self, "width", "50%"),
142
+ value<CSSLength>(RelativeTo::Self, "height", "50%"),
143
+ value<CSSDouble>(0)})},
144
+ {"transform",
145
+ transforms(
146
+ {{"perspective",
147
+ transformOp<PerspectiveOperation>(0)}, // 0 - no perspective
148
+ {"rotate", transformOp<RotateOperation>("0deg")},
149
+ {"rotateX", transformOp<RotateXOperation>("0deg")},
150
+ {"rotateY", transformOp<RotateYOperation>("0deg")},
151
+ {"rotateZ", transformOp<RotateZOperation>("0deg")},
152
+ {"scale", transformOp<ScaleOperation>(1)},
153
+ {"scaleX", transformOp<ScaleXOperation>(1)},
154
+ {"scaleY", transformOp<ScaleYOperation>(1)},
155
+ {"translateX",
156
+ transformOp<TranslateXOperation>(RelativeTo::Self, "width", 0)},
157
+ {"translateY",
158
+ transformOp<TranslateYOperation>(RelativeTo::Self, "height", 0)},
159
+ {"skewX", transformOp<SkewXOperation>("0deg")},
160
+ {"skewY", transformOp<SkewYOperation>("0deg")},
161
+ {"matrix",
162
+ transformOp<MatrixOperation>(TransformMatrix3D::Identity())}})},
163
+ };
164
+
165
+ const InterpolatorFactoriesRecord VIEW_INTERPOLATORS = mergeInterpolators(
166
+ {FLEX_INTERPOLATORS,
167
+ SHADOW_INTERPOLATORS_IOS,
168
+ TRANSFORMS_INTERPOLATORS,
169
+ InterpolatorFactoriesRecord{
170
+ {"backfaceVisibility", value<CSSKeyword>("visible")},
171
+ {"backgroundColor", value<CSSColor>(TRANSPARENT)},
172
+ {"borderBlockColor", value<CSSColor>(BLACK)},
173
+ {"borderBlockEndColor", value<CSSColor>(BLACK)},
174
+ {"borderBlockStartColor", value<CSSColor>(BLACK)},
175
+ {"borderBottomColor", value<CSSColor>(BLACK)},
176
+ {"borderBottomEndRadius",
177
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
178
+ {"borderBottomLeftRadius",
179
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
180
+ {"borderBottomRightRadius",
181
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
182
+ {"borderBottomStartRadius",
183
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
184
+ {"borderColor", value<CSSColor>(BLACK)},
185
+ {"borderCurve", value<CSSKeyword>("circular")},
186
+ {"borderEndColor", value<CSSColor>(BLACK)},
187
+ {"borderEndEndRadius", value<CSSLength>(RelativeTo::Self, "width", 0)},
188
+ {"borderEndStartRadius",
189
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
190
+ {"borderLeftColor", value<CSSColor>(BLACK)},
191
+ {"borderRadius", value<CSSLength>(RelativeTo::Self, "width", 0)},
192
+ {"borderRightColor", value<CSSColor>(BLACK)},
193
+ {"borderStartColor", value<CSSColor>(BLACK)},
194
+ {"borderStartEndRadius",
195
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
196
+ {"borderStartStartRadius",
197
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
198
+ {"borderStyle", value<CSSKeyword>("solid")},
199
+ {"borderTopColor", value<CSSColor>(BLACK)},
200
+ {"borderTopEndRadius", value<CSSLength>(RelativeTo::Self, "width", 0)},
201
+ {"borderTopLeftRadius",
202
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
203
+ {"borderTopRightRadius",
204
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
205
+ {"borderTopStartRadius",
206
+ value<CSSLength>(RelativeTo::Self, "width", 0)},
207
+ {"outlineColor", value<CSSColor>(BLACK)},
208
+ {"outlineOffset", value<CSSDouble>(0)},
209
+ {"outlineStyle", value<CSSKeyword>("solid")},
210
+ {"outlineWidth", value<CSSDouble>(0)},
211
+ {"opacity", value<CSSDouble>(1)},
212
+ {"elevation", value<CSSDouble>(0)},
213
+ {"pointerEvents", value<CSSKeyword>("auto")},
214
+ {"isolation", value<CSSKeyword>("auto")},
215
+ {"cursor", value<CSSKeyword>("auto")},
216
+ {"boxShadow",
217
+ array({record({
218
+ {"offsetX", value<CSSDouble>(0)},
219
+ {"offsetY", value<CSSDouble>(0)},
220
+ #ifdef ANDROID
221
+ // For some reason Android crashes when blurRadius is smaller
222
+ // than 1, so we use a custom value type that will never be
223
+ // smaller than 1
224
+ {"blurRadius", value<CSSShadowRadiusAndroid>(1)},
225
+ #else
226
+ {"blurRadius", value<CSSDouble>(0)},
227
+ #endif
228
+ {"spreadDistance", value<CSSDouble>(0)},
229
+ {"color", value<CSSColor>(TRANSPARENT)},
230
+ {"inset", value<CSSBoolean>(false)},
231
+ })})},
232
+ {"mixBlendMode", value<CSSKeyword>("normal")}}});
233
+
234
+ const InterpolatorFactoriesRecord TEXT_INTERPOLATORS_IOS = {
235
+ {"fontVariant",
236
+ value<CSSDiscreteArray<CSSKeyword>>(std::vector<CSSKeyword>{})},
237
+ {"textDecorationColor", value<CSSColor>(BLACK)},
238
+ {"textDecorationStyle", value<CSSKeyword>("solid")},
239
+ {"writingDirection", value<CSSKeyword>("auto")},
240
+ };
241
+
242
+ const InterpolatorFactoriesRecord TEXT_INTERPOLATORS_ANDROID = {
243
+ {"textAlignVertical", value<CSSKeyword>("auto")},
244
+ {"verticalAlign", value<CSSKeyword>("auto")},
245
+ {"includeFontPadding", value<CSSBoolean>(false)},
246
+ };
247
+
248
+ const InterpolatorFactoriesRecord TEXT_INTERPOLATORS = mergeInterpolators(
249
+ {VIEW_INTERPOLATORS,
250
+ TEXT_INTERPOLATORS_IOS,
251
+ TEXT_INTERPOLATORS_ANDROID,
252
+ InterpolatorFactoriesRecord{
253
+ {"color", value<CSSColor>(BLACK)},
254
+ {"fontFamily", value<CSSKeyword>("inherit")},
255
+ {"fontSize", value<CSSDouble>(14)},
256
+ {"fontStyle", value<CSSKeyword>("normal")},
257
+ {"fontWeight", value<CSSKeyword>("normal")},
258
+ {"letterSpacing", value<CSSDouble>(0)},
259
+ {"lineHeight",
260
+ value<CSSDouble>(14)}, // TODO - should inherit from fontSize
261
+ {"textAlign", value<CSSKeyword>("auto")},
262
+ {"textDecorationLine", value<CSSKeyword>("none")},
263
+ {"textShadowColor", value<CSSColor>(BLACK)},
264
+ {"textShadowOffset",
265
+ record(
266
+ {{"width", value<CSSDouble>(0)},
267
+ {"height", value<CSSDouble>(0)}})},
268
+ {"textShadowRadius", value<CSSDouble>(0)},
269
+ {"textTransform", value<CSSKeyword>("none")},
270
+ {"userSelect", value<CSSKeyword>("auto")},
271
+ }});
272
+
273
+ const InterpolatorFactoriesRecord IMAGE_INTERPOLATORS = mergeInterpolators(
274
+ {VIEW_INTERPOLATORS,
275
+ InterpolatorFactoriesRecord{
276
+ {"resizeMode", value<CSSKeyword>("cover")},
277
+ {"overlayColor", value<CSSColor>(BLACK)},
278
+ {"tintColor", value<CSSColor>(BLACK)},
279
+ }});
280
+
281
+ // =================
282
+ // SVG INTERPOLATORS
283
+ // =================
284
+
285
+ const InterpolatorFactoriesRecord SVG_COLOR_INTERPOLATORS = {
286
+ {"color", value<CSSColor>(BLACK)},
287
+ };
288
+
289
+ const InterpolatorFactoriesRecord SVG_FILL_INTERPOLATORS = {
290
+ {"fill", value<CSSColor>(BLACK)},
291
+ {"fillOpacity", value<CSSDouble>(1)},
292
+ {"fillRule", value<CSSInteger>(0)},
293
+ };
294
+
295
+ const InterpolatorFactoriesRecord SVG_STROKE_INTERPOLATORS = {
296
+ {"stroke", value<CSSColor>(BLACK)},
297
+ {"strokeWidth", value<SVGLength>(1)},
298
+ {"strokeOpacity", value<CSSDouble>(1)},
299
+ {"strokeDasharray",
300
+ value<SVGStrokeDashArray, CSSKeyword>(SVGStrokeDashArray())},
301
+ {"strokeDashoffset", value<SVGLength>(0)},
302
+ {"strokeLinecap", value<CSSInteger>(0)},
303
+ {"strokeLinejoin", value<CSSInteger>(0)},
304
+ {"strokeMiterlimit", value<CSSDouble>(4)},
305
+ {"vectorEffect", value<CSSInteger>(0)},
306
+ };
307
+
308
+ const InterpolatorFactoriesRecord SVG_CLIP_INTERPOLATORS = {
309
+ {"clipRule", value<CSSKeyword>("nonzero")},
310
+ {"clipPath", value<CSSKeyword>("none")},
311
+ };
312
+
313
+ const InterpolatorFactoriesRecord SVG_TRANSFORM_INTERPOLATORS = {
314
+ {"translateX", value<SVGLength>(0)},
315
+ {"translateY", value<SVGLength>(0)},
316
+ {"originX", value<SVGLength>(0)},
317
+ {"originY", value<SVGLength>(0)},
318
+ {"scaleX", value<CSSDouble>(1)},
319
+ {"scaleY", value<CSSDouble>(1)},
320
+ {"skewX", value<CSSAngle>(0)},
321
+ {"skewY", value<CSSAngle>(0)},
322
+ {"rotation", value<CSSAngle>(0)},
323
+ };
324
+
325
+ const InterpolatorFactoriesRecord SVG_COMMON_INTERPOLATORS =
326
+ mergeInterpolators({
327
+ SVG_COLOR_INTERPOLATORS,
328
+ SVG_FILL_INTERPOLATORS,
329
+ SVG_STROKE_INTERPOLATORS,
330
+ });
331
+
332
+ const InterpolatorFactoriesRecord SVG_CIRCLE_INTERPOLATORS = mergeInterpolators(
333
+ {SVG_COMMON_INTERPOLATORS,
334
+ InterpolatorFactoriesRecord{
335
+ {"cx", value<SVGLength, CSSKeyword>(0)},
336
+ {"cy", value<SVGLength, CSSKeyword>(0)},
337
+ {"r", value<SVGLength, CSSKeyword>(0)},
338
+ {"opacity", value<CSSDouble>(1)},
339
+ }});
340
+
341
+ const InterpolatorFactoriesRecord SVG_ELLIPSE_INTERPOLATORS =
342
+ mergeInterpolators(
343
+ {SVG_COMMON_INTERPOLATORS,
344
+ InterpolatorFactoriesRecord{
345
+ {"cx", value<SVGLength, CSSKeyword>(0)},
346
+ {"cy", value<SVGLength, CSSKeyword>(0)},
347
+ {"rx", value<SVGLength, CSSKeyword>(0)},
348
+ {"ry", value<SVGLength, CSSKeyword>(0)},
349
+ {"opacity", value<CSSDouble>(1)},
350
+ }});
351
+
352
+ const InterpolatorFactoriesRecord SVG_LINE_INTERPOLATORS = mergeInterpolators(
353
+ {SVG_COMMON_INTERPOLATORS,
354
+ InterpolatorFactoriesRecord{
355
+ {"x1", value<SVGLength, CSSKeyword>(0)},
356
+ {"y1", value<SVGLength, CSSKeyword>(0)},
357
+ {"x2", value<SVGLength, CSSKeyword>(0)},
358
+ {"y2", value<SVGLength, CSSKeyword>(0)},
359
+ {"opacity", value<CSSDouble>(1)},
360
+ }});
361
+
362
+ const InterpolatorFactoriesRecord SVG_RECT_INTERPOLATORS = mergeInterpolators(
363
+ {SVG_COMMON_INTERPOLATORS,
364
+ InterpolatorFactoriesRecord{
365
+ {"x", value<SVGLength, CSSKeyword>(0)},
366
+ {"y", value<SVGLength, CSSKeyword>(0)},
367
+ {"width", value<SVGLength, CSSKeyword>(0)},
368
+ {"height", value<SVGLength, CSSKeyword>(0)},
369
+ {"rx", value<SVGLength, CSSKeyword>(0)},
370
+ {"ry", value<SVGLength, CSSKeyword>(0)},
371
+ {"opacity", value<CSSDouble>(1)},
372
+ }});
373
+
374
+ const InterpolatorFactoriesRecord SVG_PATH_INTERPOLATORS = mergeInterpolators(
375
+ {SVG_COMMON_INTERPOLATORS,
376
+ InterpolatorFactoriesRecord{
377
+ // TODO - add more properties
378
+ }});
379
+
380
+ // ==================
381
+ // COMPONENT REGISTRY
382
+ // ==================
383
+
384
+ ComponentInterpolatorsMap initializeRegistry() {
385
+ ComponentInterpolatorsMap registry = {
386
+ // React Native Components
387
+ {"View", VIEW_INTERPOLATORS},
388
+ {"Paragraph", TEXT_INTERPOLATORS},
389
+ {"Image", IMAGE_INTERPOLATORS},
390
+ };
391
+
392
+ if (StaticFeatureFlags::getFlag(
393
+ "EXPERIMENTAL_CSS_ANIMATIONS_FOR_SVG_COMPONENTS")) {
394
+ // SVG Components
395
+ registry["RNSVGCircle"] = SVG_CIRCLE_INTERPOLATORS;
396
+ registry["RNSVGEllipse"] = SVG_ELLIPSE_INTERPOLATORS;
397
+ registry["RNSVGLine"] = SVG_LINE_INTERPOLATORS;
398
+ registry["RNSVGPath"] = SVG_PATH_INTERPOLATORS;
399
+ registry["RNSVGRect"] = SVG_RECT_INTERPOLATORS;
400
+ }
401
+
402
+ return registry;
403
+ }
404
+
405
+ ComponentInterpolatorsMap registry = initializeRegistry();
406
+
407
+ } // namespace
408
+
409
+ const InterpolatorFactoriesRecord &getComponentInterpolators(
410
+ const std::string &componentName) {
411
+ if (auto it = registry.find(componentName); it != registry.end()) {
412
+ return it->second;
413
+ }
414
+
415
+ // Use View interpolators as a fallback for unknown components
416
+ // (e.g. we get the ScrollView component name for the ScrollView component
417
+ // but it should be styled in the same way as a View)
418
+ return VIEW_INTERPOLATORS;
419
+ }
420
+
421
+ void registerComponentInterpolators(
422
+ const std::string &componentName,
423
+ const InterpolatorFactoriesRecord &interpolators) {
424
+ registry[componentName] = interpolators;
425
+ }
426
+
427
+ } // namespace reanimated::css
@@ -2,22 +2,14 @@
2
2
 
3
3
  #include <reanimated/CSS/interpolation/PropertyInterpolator.h>
4
4
 
5
- #include <reanimated/CSS/configs/interpolators/base/image.h>
6
- #include <reanimated/CSS/configs/interpolators/base/text.h>
7
- #include <reanimated/CSS/configs/interpolators/base/view.h>
8
-
9
- #include <stdexcept>
10
5
  #include <string>
11
6
  #include <unordered_map>
12
- #include <utility>
13
7
 
14
8
  namespace reanimated::css {
15
9
 
16
10
  using ComponentInterpolatorsMap =
17
11
  std::unordered_map<std::string, InterpolatorFactoriesRecord>;
18
12
 
19
- bool hasInterpolators(const std::string &componentName);
20
-
21
13
  const InterpolatorFactoriesRecord &getComponentInterpolators(
22
14
  const std::string &componentName);
23
15
 
@@ -1,7 +1,6 @@
1
1
  #pragma once
2
2
 
3
3
  #include <jsi/jsi.h>
4
- #include <memory>
5
4
  #include <string>
6
5
  #include <vector>
7
6
 
@@ -1,5 +1,7 @@
1
1
  #include <reanimated/CSS/common/transforms/Quaternion.h>
2
2
 
3
+ #include <cmath>
4
+
3
5
  namespace reanimated::css {
4
6
 
5
7
  bool Quaternion::operator==(const Quaternion &other) const {
@@ -1,7 +1,5 @@
1
1
  #pragma once
2
2
 
3
- #include <cmath>
4
-
5
3
  #ifndef NDEBUG
6
4
  #include <iostream>
7
5
  #endif // NDEBUG
@@ -3,7 +3,6 @@
3
3
  #include <reanimated/CSS/common/definitions.h>
4
4
 
5
5
  #include <folly/dynamic.h>
6
- #include <memory>
7
6
  #include <string>
8
7
  #include <utility>
9
8
 
@@ -5,7 +5,6 @@
5
5
  #include <reanimated/CSS/common/transforms/vectors.h>
6
6
 
7
7
  #include <folly/dynamic.h>
8
- #include <memory>
9
8
  #include <utility>
10
9
 
11
10
  namespace reanimated::css {
@@ -1,6 +1,8 @@
1
1
  #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
2
2
  #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
3
3
 
4
+ #include <string>
5
+
4
6
  namespace reanimated::css {
5
7
 
6
8
  TransformMatrix3D::Decomposed TransformMatrix3D::Decomposed::interpolate(
@@ -6,8 +6,6 @@
6
6
  #include <reanimated/CSS/common/transforms/vectors.h>
7
7
 
8
8
  #include <folly/dynamic.h>
9
- #include <memory>
10
- #include <string>
11
9
  #include <utility>
12
10
 
13
11
  namespace reanimated::css {
@@ -1,5 +1,8 @@
1
1
  #include <reanimated/CSS/common/transforms/TransformOp.h>
2
2
 
3
+ #include <array>
4
+ #include <unordered_map>
5
+
3
6
  namespace reanimated::css {
4
7
 
5
8
  constexpr std::array<const char *, 13> transformOperationStrings = {
@@ -1,8 +1,6 @@
1
1
  #pragma once
2
2
 
3
- #include <array>
4
3
  #include <string>
5
- #include <unordered_map>
6
4
 
7
5
  namespace reanimated::css {
8
6
 
@@ -1,9 +1,6 @@
1
1
  #pragma once
2
2
 
3
3
  #include <array>
4
- #include <cmath>
5
- #include <string>
6
- #include <unordered_map>
7
4
 
8
5
  #ifndef NDEBUG
9
6
  #include <iostream>
@@ -1,5 +1,9 @@
1
1
  #include <reanimated/CSS/common/values/CSSAngle.h>
2
2
 
3
+ #include <iomanip>
4
+ #include <regex>
5
+ #include <unordered_map>
6
+
3
7
  namespace reanimated::css {
4
8
 
5
9
  CSSAngle::CSSAngle() : value(0) {}
@@ -5,12 +5,7 @@
5
5
  #include <worklets/Tools/JSISerializer.h>
6
6
 
7
7
  #include <folly/json.h>
8
- #include <iomanip>
9
- #include <regex>
10
- #include <sstream>
11
8
  #include <string>
12
- #include <string_view>
13
- #include <unordered_map>
14
9
 
15
10
  namespace reanimated::css {
16
11
 
@@ -1,6 +1,8 @@
1
1
  #include <folly/json.h>
2
2
  #include <reanimated/CSS/common/values/CSSNumber.h>
3
3
 
4
+ #include <algorithm>
5
+
4
6
  namespace reanimated::css {
5
7
 
6
8
  template <typename TDerived, typename TValue>
@@ -4,7 +4,6 @@
4
4
 
5
5
  #include <worklets/Tools/JSISerializer.h>
6
6
 
7
- #include <algorithm>
8
7
  #include <string>
9
8
 
10
9
  namespace reanimated::css {
@@ -10,6 +10,10 @@ namespace reanimated::css {
10
10
 
11
11
  using namespace facebook;
12
12
 
13
+ struct ValueInterpolatorUpdateContext {
14
+ const std::shared_ptr<const ShadowNode> &node;
15
+ };
16
+
13
17
  enum class RelativeTo {
14
18
  Parent,
15
19
  Self,