@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.
- package/compatibility.json +161 -161
- package/harmony/reanimated/BuildProfile.ets +16 -16
- package/harmony/reanimated/build-profile.json5 +18 -18
- package/harmony/reanimated/hvigorfile.ts +4 -4
- package/harmony/reanimated/index.ets +4 -4
- package/harmony/reanimated/oh-package-lock.json5 +39 -0
- package/harmony/reanimated/oh-package.json5 +12 -12
- package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
- package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
- package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
- package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
- package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
- package/harmony/reanimated/src/main/module.json5 +12 -12
- package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
- package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
- package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
- package/harmony/reanimated/ts.ts +6 -6
- package/harmony/reanimated.har +0 -0
- package/package.json +70 -68
- package/scripts/deploy.js +191 -191
- package/scripts/set-reanimated-version.js +37 -37
- package/scripts/update-version.js +119 -119
- package/scripts/validate-react-native-version.js +46 -46
- package/scripts/validate-worklets-build.js +17 -17
- package/scripts/validate-worklets-version.js +84 -79
- package/scripts/worklets-version.json +4 -4
- package/src/index.ts +9 -9
|
@@ -1,189 +1,189 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/interpolation/PropertyInterpolator.h>
|
|
4
|
-
#include <reanimated/CSS/interpolation/configs.h>
|
|
5
|
-
#include <reanimated/CSS/interpolation/filters/FilterOperation.h>
|
|
6
|
-
#include <reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h>
|
|
7
|
-
#include <reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h>
|
|
8
|
-
#include <reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h>
|
|
9
|
-
#include <reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h>
|
|
10
|
-
#include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
|
|
11
|
-
#include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
|
|
12
|
-
#include <reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h>
|
|
13
|
-
#include <reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h>
|
|
14
|
-
#include <reanimated/CSS/interpolation/values/SimpleValueInterpolator.h>
|
|
15
|
-
|
|
16
|
-
#include <memory>
|
|
17
|
-
#include <string>
|
|
18
|
-
#include <unordered_map>
|
|
19
|
-
#include <utility>
|
|
20
|
-
|
|
21
|
-
namespace reanimated::css {
|
|
22
|
-
|
|
23
|
-
// Template class implementations
|
|
24
|
-
template <typename... AllowedTypes>
|
|
25
|
-
class SimpleValueInterpolatorFactory : public PropertyInterpolatorFactory {
|
|
26
|
-
public:
|
|
27
|
-
template <typename TValue>
|
|
28
|
-
explicit SimpleValueInterpolatorFactory(const TValue &defaultValue)
|
|
29
|
-
: PropertyInterpolatorFactory(), defaultValue_(defaultValue) {}
|
|
30
|
-
|
|
31
|
-
bool isDiscreteProperty() const override {
|
|
32
|
-
// The property is considered discrete if all of the allowed types are
|
|
33
|
-
// discrete
|
|
34
|
-
return (Discrete<AllowedTypes> && ...);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const CSSValue &getDefaultValue() const override {
|
|
38
|
-
return defaultValue_;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
std::shared_ptr<PropertyInterpolator> create(
|
|
42
|
-
const PropertyPath &propertyPath,
|
|
43
|
-
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
|
|
44
|
-
return std::make_shared<SimpleValueInterpolator<AllowedTypes...>>(
|
|
45
|
-
propertyPath, defaultValue_, viewStylesRepository);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
private:
|
|
49
|
-
const CSSValueVariant<AllowedTypes...> defaultValue_;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
template <typename... AllowedTypes>
|
|
53
|
-
class ResolvableValueInterpolatorFactory : public PropertyInterpolatorFactory {
|
|
54
|
-
public:
|
|
55
|
-
template <typename TValue>
|
|
56
|
-
explicit ResolvableValueInterpolatorFactory(const TValue &defaultValue, ResolvableValueInterpolatorConfig config)
|
|
57
|
-
: PropertyInterpolatorFactory(), defaultValue_(defaultValue), config_(std::move(config)) {}
|
|
58
|
-
|
|
59
|
-
const CSSValue &getDefaultValue() const override {
|
|
60
|
-
return defaultValue_;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
std::shared_ptr<PropertyInterpolator> create(
|
|
64
|
-
const PropertyPath &propertyPath,
|
|
65
|
-
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
|
|
66
|
-
return std::make_shared<ResolvableValueInterpolator<AllowedTypes...>>(
|
|
67
|
-
propertyPath, defaultValue_, viewStylesRepository, config_);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
private:
|
|
71
|
-
const CSSValueVariant<AllowedTypes...> defaultValue_;
|
|
72
|
-
ResolvableValueInterpolatorConfig config_;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Helper function to create a concrete CSSValue from defaultValue
|
|
77
|
-
*/
|
|
78
|
-
template <typename... AllowedTypes>
|
|
79
|
-
CSSValueVariant<AllowedTypes...> createCSSValue(const auto &defaultValue) {
|
|
80
|
-
using ValueType = decltype(defaultValue);
|
|
81
|
-
CSSValueVariant<AllowedTypes...> result;
|
|
82
|
-
|
|
83
|
-
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
84
|
-
if constexpr (std::is_constructible_v<TCSSValue, ValueType>) {
|
|
85
|
-
if constexpr (ValueConstructibleCSSValue<TCSSValue, ValueType>) {
|
|
86
|
-
// For construction from a non-jsi::Value, we perform a runtime
|
|
87
|
-
// canConstruct check only if the type has a canConstruct method.
|
|
88
|
-
// (this is needed e.g. when different CSS value types can be
|
|
89
|
-
// constructed from the same value type, like CSSLength and CSSKeyword)
|
|
90
|
-
if (!TCSSValue::canConstruct(defaultValue)) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
result = CSSValueVariant<AllowedTypes...>(std::variant<AllowedTypes...>(TCSSValue(defaultValue)));
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
return false;
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
// Try constructing with each allowed type until one succeeds
|
|
101
|
-
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
102
|
-
throw std::runtime_error("[Reanimated] No compatible type found for construction from defaultValue");
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return result;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Value interpolator factories
|
|
110
|
-
*/
|
|
111
|
-
template <typename... AllowedTypes>
|
|
112
|
-
auto value(const auto &defaultValue) -> std::enable_if_t<
|
|
113
|
-
(std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
|
|
114
|
-
std::shared_ptr<PropertyInterpolatorFactory>> {
|
|
115
|
-
// Create a concrete CSSValue from the defaultValue
|
|
116
|
-
auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
|
|
117
|
-
return std::make_shared<SimpleValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue));
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
template <typename... AllowedTypes>
|
|
121
|
-
auto value(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
122
|
-
(std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
|
|
123
|
-
std::shared_ptr<PropertyInterpolatorFactory>> {
|
|
124
|
-
// Create a concrete CSSValue from the defaultValue
|
|
125
|
-
auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
|
|
126
|
-
return std::make_shared<ResolvableValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue), std::move(config));
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Transform operation interpolator factories
|
|
131
|
-
*/
|
|
132
|
-
template <typename TOperation>
|
|
133
|
-
auto transformOp(const auto &defaultValue) -> std::enable_if_t<
|
|
134
|
-
std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
|
|
135
|
-
std::shared_ptr<StyleOperationInterpolator>> {
|
|
136
|
-
return std::make_shared<TransformOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
template <typename TOperation>
|
|
140
|
-
auto transformOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
141
|
-
std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
|
|
142
|
-
ResolvableOp<TOperation>,
|
|
143
|
-
std::shared_ptr<StyleOperationInterpolator>> {
|
|
144
|
-
return std::make_shared<TransformOperationInterpolator<TOperation>>(
|
|
145
|
-
std::make_shared<TOperation>(defaultValue), std::move(config));
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Filter operation interpolator factories
|
|
150
|
-
*/
|
|
151
|
-
template <typename TOperation>
|
|
152
|
-
auto filterOp(const auto &defaultValue) -> std::enable_if_t<
|
|
153
|
-
std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
|
|
154
|
-
std::shared_ptr<StyleOperationInterpolator>> {
|
|
155
|
-
return std::make_shared<FilterOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
template <typename TOperation>
|
|
159
|
-
auto filterOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
160
|
-
std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
|
|
161
|
-
ResolvableOp<TOperation>,
|
|
162
|
-
std::shared_ptr<StyleOperationInterpolator>> {
|
|
163
|
-
return std::make_shared<FilterOperationInterpolator<TOperation>>(
|
|
164
|
-
std::make_shared<TOperation>(defaultValue), std::move(config));
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Record property interpolator factory
|
|
169
|
-
*/
|
|
170
|
-
std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories);
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Array property interpolator factory
|
|
174
|
-
*/
|
|
175
|
-
std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories);
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Transform interpolators
|
|
179
|
-
*/
|
|
180
|
-
std::shared_ptr<PropertyInterpolatorFactory> transforms(
|
|
181
|
-
const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Filter interpolators
|
|
185
|
-
*/
|
|
186
|
-
std::shared_ptr<PropertyInterpolatorFactory> filters(
|
|
187
|
-
const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
|
|
188
|
-
|
|
189
|
-
} // namespace reanimated::css
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/interpolation/PropertyInterpolator.h>
|
|
4
|
+
#include <reanimated/CSS/interpolation/configs.h>
|
|
5
|
+
#include <reanimated/CSS/interpolation/filters/FilterOperation.h>
|
|
6
|
+
#include <reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h>
|
|
7
|
+
#include <reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h>
|
|
8
|
+
#include <reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h>
|
|
9
|
+
#include <reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h>
|
|
10
|
+
#include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
|
|
11
|
+
#include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
|
|
12
|
+
#include <reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h>
|
|
13
|
+
#include <reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h>
|
|
14
|
+
#include <reanimated/CSS/interpolation/values/SimpleValueInterpolator.h>
|
|
15
|
+
|
|
16
|
+
#include <memory>
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <unordered_map>
|
|
19
|
+
#include <utility>
|
|
20
|
+
|
|
21
|
+
namespace reanimated::css {
|
|
22
|
+
|
|
23
|
+
// Template class implementations
|
|
24
|
+
template <typename... AllowedTypes>
|
|
25
|
+
class SimpleValueInterpolatorFactory : public PropertyInterpolatorFactory {
|
|
26
|
+
public:
|
|
27
|
+
template <typename TValue>
|
|
28
|
+
explicit SimpleValueInterpolatorFactory(const TValue &defaultValue)
|
|
29
|
+
: PropertyInterpolatorFactory(), defaultValue_(defaultValue) {}
|
|
30
|
+
|
|
31
|
+
bool isDiscreteProperty() const override {
|
|
32
|
+
// The property is considered discrete if all of the allowed types are
|
|
33
|
+
// discrete
|
|
34
|
+
return (Discrete<AllowedTypes> && ...);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const CSSValue &getDefaultValue() const override {
|
|
38
|
+
return defaultValue_;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
std::shared_ptr<PropertyInterpolator> create(
|
|
42
|
+
const PropertyPath &propertyPath,
|
|
43
|
+
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
|
|
44
|
+
return std::make_shared<SimpleValueInterpolator<AllowedTypes...>>(
|
|
45
|
+
propertyPath, defaultValue_, viewStylesRepository);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
private:
|
|
49
|
+
const CSSValueVariant<AllowedTypes...> defaultValue_;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
template <typename... AllowedTypes>
|
|
53
|
+
class ResolvableValueInterpolatorFactory : public PropertyInterpolatorFactory {
|
|
54
|
+
public:
|
|
55
|
+
template <typename TValue>
|
|
56
|
+
explicit ResolvableValueInterpolatorFactory(const TValue &defaultValue, ResolvableValueInterpolatorConfig config)
|
|
57
|
+
: PropertyInterpolatorFactory(), defaultValue_(defaultValue), config_(std::move(config)) {}
|
|
58
|
+
|
|
59
|
+
const CSSValue &getDefaultValue() const override {
|
|
60
|
+
return defaultValue_;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
std::shared_ptr<PropertyInterpolator> create(
|
|
64
|
+
const PropertyPath &propertyPath,
|
|
65
|
+
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository) const override {
|
|
66
|
+
return std::make_shared<ResolvableValueInterpolator<AllowedTypes...>>(
|
|
67
|
+
propertyPath, defaultValue_, viewStylesRepository, config_);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private:
|
|
71
|
+
const CSSValueVariant<AllowedTypes...> defaultValue_;
|
|
72
|
+
ResolvableValueInterpolatorConfig config_;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to create a concrete CSSValue from defaultValue
|
|
77
|
+
*/
|
|
78
|
+
template <typename... AllowedTypes>
|
|
79
|
+
CSSValueVariant<AllowedTypes...> createCSSValue(const auto &defaultValue) {
|
|
80
|
+
using ValueType = decltype(defaultValue);
|
|
81
|
+
CSSValueVariant<AllowedTypes...> result;
|
|
82
|
+
|
|
83
|
+
auto tryOne = [&]<typename TCSSValue>() -> bool {
|
|
84
|
+
if constexpr (std::is_constructible_v<TCSSValue, ValueType>) {
|
|
85
|
+
if constexpr (ValueConstructibleCSSValue<TCSSValue, ValueType>) {
|
|
86
|
+
// For construction from a non-jsi::Value, we perform a runtime
|
|
87
|
+
// canConstruct check only if the type has a canConstruct method.
|
|
88
|
+
// (this is needed e.g. when different CSS value types can be
|
|
89
|
+
// constructed from the same value type, like CSSLength and CSSKeyword)
|
|
90
|
+
if (!TCSSValue::canConstruct(defaultValue)) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
result = CSSValueVariant<AllowedTypes...>(std::variant<AllowedTypes...>(TCSSValue(defaultValue)));
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// Try constructing with each allowed type until one succeeds
|
|
101
|
+
if (!(tryOne.template operator()<AllowedTypes>() || ...)) {
|
|
102
|
+
throw std::runtime_error("[Reanimated] No compatible type found for construction from defaultValue");
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Value interpolator factories
|
|
110
|
+
*/
|
|
111
|
+
template <typename... AllowedTypes>
|
|
112
|
+
auto value(const auto &defaultValue) -> std::enable_if_t<
|
|
113
|
+
(std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
|
|
114
|
+
std::shared_ptr<PropertyInterpolatorFactory>> {
|
|
115
|
+
// Create a concrete CSSValue from the defaultValue
|
|
116
|
+
auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
|
|
117
|
+
return std::make_shared<SimpleValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
template <typename... AllowedTypes>
|
|
121
|
+
auto value(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
122
|
+
(std::is_constructible_v<AllowedTypes, decltype(defaultValue)> || ...),
|
|
123
|
+
std::shared_ptr<PropertyInterpolatorFactory>> {
|
|
124
|
+
// Create a concrete CSSValue from the defaultValue
|
|
125
|
+
auto cssValue = createCSSValue<AllowedTypes...>(defaultValue);
|
|
126
|
+
return std::make_shared<ResolvableValueInterpolatorFactory<AllowedTypes...>>(std::move(cssValue), std::move(config));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Transform operation interpolator factories
|
|
131
|
+
*/
|
|
132
|
+
template <typename TOperation>
|
|
133
|
+
auto transformOp(const auto &defaultValue) -> std::enable_if_t<
|
|
134
|
+
std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
|
|
135
|
+
std::shared_ptr<StyleOperationInterpolator>> {
|
|
136
|
+
return std::make_shared<TransformOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
template <typename TOperation>
|
|
140
|
+
auto transformOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
141
|
+
std::is_base_of_v<TransformOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
|
|
142
|
+
ResolvableOp<TOperation>,
|
|
143
|
+
std::shared_ptr<StyleOperationInterpolator>> {
|
|
144
|
+
return std::make_shared<TransformOperationInterpolator<TOperation>>(
|
|
145
|
+
std::make_shared<TOperation>(defaultValue), std::move(config));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Filter operation interpolator factories
|
|
150
|
+
*/
|
|
151
|
+
template <typename TOperation>
|
|
152
|
+
auto filterOp(const auto &defaultValue) -> std::enable_if_t<
|
|
153
|
+
std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)>,
|
|
154
|
+
std::shared_ptr<StyleOperationInterpolator>> {
|
|
155
|
+
return std::make_shared<FilterOperationInterpolator<TOperation>>(std::make_shared<TOperation>(defaultValue));
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
template <typename TOperation>
|
|
159
|
+
auto filterOp(const auto &defaultValue, ResolvableValueInterpolatorConfig config) -> std::enable_if_t<
|
|
160
|
+
std::is_base_of_v<FilterOperation, TOperation> && std::is_constructible_v<TOperation, decltype(defaultValue)> &&
|
|
161
|
+
ResolvableOp<TOperation>,
|
|
162
|
+
std::shared_ptr<StyleOperationInterpolator>> {
|
|
163
|
+
return std::make_shared<FilterOperationInterpolator<TOperation>>(
|
|
164
|
+
std::make_shared<TOperation>(defaultValue), std::move(config));
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Record property interpolator factory
|
|
169
|
+
*/
|
|
170
|
+
std::shared_ptr<PropertyInterpolatorFactory> record(const InterpolatorFactoriesRecord &factories);
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Array property interpolator factory
|
|
174
|
+
*/
|
|
175
|
+
std::shared_ptr<PropertyInterpolatorFactory> array(const InterpolatorFactoriesArray &factories);
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Transform interpolators
|
|
179
|
+
*/
|
|
180
|
+
std::shared_ptr<PropertyInterpolatorFactory> transforms(
|
|
181
|
+
const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Filter interpolators
|
|
185
|
+
*/
|
|
186
|
+
std::shared_ptr<PropertyInterpolatorFactory> filters(
|
|
187
|
+
const std::unordered_map<std::string, std::shared_ptr<StyleOperationInterpolator>> &interpolators);
|
|
188
|
+
|
|
189
|
+
} // namespace reanimated::css
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
#include <reanimated/CSS/interpolation/PropertyInterpolator.h>
|
|
2
|
-
|
|
3
|
-
#include <worklets/Tools/JSISerializer.h>
|
|
4
|
-
|
|
5
|
-
#include <memory>
|
|
6
|
-
#include <utility>
|
|
7
|
-
|
|
8
|
-
namespace reanimated::css {
|
|
9
|
-
|
|
10
|
-
PropertyInterpolator::PropertyInterpolator(
|
|
11
|
-
PropertyPath propertyPath,
|
|
12
|
-
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
|
|
13
|
-
: propertyPath_(std::move(propertyPath)), viewStylesRepository_(viewStylesRepository) {}
|
|
14
|
-
|
|
15
|
-
bool PropertyInterpolatorFactory::isDiscreteProperty() const {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
std::string PropertyInterpolator::getPropertyPathString() const {
|
|
20
|
-
if (propertyPath_.empty()) {
|
|
21
|
-
return "";
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
std::string result = propertyPath_[0];
|
|
25
|
-
for (size_t i = 1; i < propertyPath_.size(); ++i) {
|
|
26
|
-
result += "." + propertyPath_[i];
|
|
27
|
-
}
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
std::vector<std::pair<double, jsi::Value>> PropertyInterpolator::parseJSIKeyframes(
|
|
32
|
-
jsi::Runtime &rt,
|
|
33
|
-
const jsi::Value &keyframes) const {
|
|
34
|
-
if (!keyframes.isObject() || !keyframes.asObject(rt).isArray(rt)) {
|
|
35
|
-
throw std::invalid_argument(
|
|
36
|
-
"[Reanimated] Received invalid keyframes object for property: " + getPropertyPathString() +
|
|
37
|
-
".\n\nExpected an array of objects with 'offset' and 'value' properties, got: " +
|
|
38
|
-
worklets::stringifyJSIValue(rt, keyframes));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const auto keyframeArray = keyframes.asObject(rt).asArray(rt);
|
|
42
|
-
const auto keyframesCount = keyframeArray.size(rt);
|
|
43
|
-
|
|
44
|
-
const auto getKeyframeAtIndexOffset = [&](size_t index) -> double {
|
|
45
|
-
return keyframeArray.getValueAtIndex(rt, index).asObject(rt).getProperty(rt, "offset").asNumber();
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
const bool hasOffset0 = getKeyframeAtIndexOffset(0) == 0;
|
|
49
|
-
const bool hasOffset1 = getKeyframeAtIndexOffset(keyframesCount - 1) == 1;
|
|
50
|
-
|
|
51
|
-
std::vector<std::pair<double, jsi::Value>> result;
|
|
52
|
-
result.reserve(keyframesCount + (hasOffset0 ? 0 : 1) + (hasOffset1 ? 0 : 1));
|
|
53
|
-
|
|
54
|
-
// Insert the keyframe without value at offset 0 if it is not present
|
|
55
|
-
if (!hasOffset0) {
|
|
56
|
-
result.emplace_back(0.0, jsi::Value::undefined());
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Insert all provided keyframes
|
|
60
|
-
for (size_t i = 0; i < keyframesCount; ++i) {
|
|
61
|
-
jsi::Object keyframeObject = keyframeArray.getValueAtIndex(rt, i).asObject(rt);
|
|
62
|
-
double offset = keyframeObject.getProperty(rt, "offset").asNumber();
|
|
63
|
-
jsi::Value value = keyframeObject.getProperty(rt, "value");
|
|
64
|
-
|
|
65
|
-
result.emplace_back(offset, std::move(value));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Insert the keyframe without value at offset 1 if it is not present
|
|
69
|
-
if (!hasOffset1) {
|
|
70
|
-
result.emplace_back(1.0, jsi::Value::undefined());
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return result;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/interpolation/PropertyInterpolator.h>
|
|
2
|
+
|
|
3
|
+
#include <worklets/Tools/JSISerializer.h>
|
|
4
|
+
|
|
5
|
+
#include <memory>
|
|
6
|
+
#include <utility>
|
|
7
|
+
|
|
8
|
+
namespace reanimated::css {
|
|
9
|
+
|
|
10
|
+
PropertyInterpolator::PropertyInterpolator(
|
|
11
|
+
PropertyPath propertyPath,
|
|
12
|
+
const std::shared_ptr<ViewStylesRepository> &viewStylesRepository)
|
|
13
|
+
: propertyPath_(std::move(propertyPath)), viewStylesRepository_(viewStylesRepository) {}
|
|
14
|
+
|
|
15
|
+
bool PropertyInterpolatorFactory::isDiscreteProperty() const {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
std::string PropertyInterpolator::getPropertyPathString() const {
|
|
20
|
+
if (propertyPath_.empty()) {
|
|
21
|
+
return "";
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
std::string result = propertyPath_[0];
|
|
25
|
+
for (size_t i = 1; i < propertyPath_.size(); ++i) {
|
|
26
|
+
result += "." + propertyPath_[i];
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
std::vector<std::pair<double, jsi::Value>> PropertyInterpolator::parseJSIKeyframes(
|
|
32
|
+
jsi::Runtime &rt,
|
|
33
|
+
const jsi::Value &keyframes) const {
|
|
34
|
+
if (!keyframes.isObject() || !keyframes.asObject(rt).isArray(rt)) {
|
|
35
|
+
throw std::invalid_argument(
|
|
36
|
+
"[Reanimated] Received invalid keyframes object for property: " + getPropertyPathString() +
|
|
37
|
+
".\n\nExpected an array of objects with 'offset' and 'value' properties, got: " +
|
|
38
|
+
worklets::stringifyJSIValue(rt, keyframes));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const auto keyframeArray = keyframes.asObject(rt).asArray(rt);
|
|
42
|
+
const auto keyframesCount = keyframeArray.size(rt);
|
|
43
|
+
|
|
44
|
+
const auto getKeyframeAtIndexOffset = [&](size_t index) -> double {
|
|
45
|
+
return keyframeArray.getValueAtIndex(rt, index).asObject(rt).getProperty(rt, "offset").asNumber();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const bool hasOffset0 = getKeyframeAtIndexOffset(0) == 0;
|
|
49
|
+
const bool hasOffset1 = getKeyframeAtIndexOffset(keyframesCount - 1) == 1;
|
|
50
|
+
|
|
51
|
+
std::vector<std::pair<double, jsi::Value>> result;
|
|
52
|
+
result.reserve(keyframesCount + (hasOffset0 ? 0 : 1) + (hasOffset1 ? 0 : 1));
|
|
53
|
+
|
|
54
|
+
// Insert the keyframe without value at offset 0 if it is not present
|
|
55
|
+
if (!hasOffset0) {
|
|
56
|
+
result.emplace_back(0.0, jsi::Value::undefined());
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Insert all provided keyframes
|
|
60
|
+
for (size_t i = 0; i < keyframesCount; ++i) {
|
|
61
|
+
jsi::Object keyframeObject = keyframeArray.getValueAtIndex(rt, i).asObject(rt);
|
|
62
|
+
double offset = keyframeObject.getProperty(rt, "offset").asNumber();
|
|
63
|
+
jsi::Value value = keyframeObject.getProperty(rt, "value");
|
|
64
|
+
|
|
65
|
+
result.emplace_back(offset, std::move(value));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Insert the keyframe without value at offset 1 if it is not present
|
|
69
|
+
if (!hasOffset1) {
|
|
70
|
+
result.emplace_back(1.0, jsi::Value::undefined());
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
} // namespace reanimated::css
|