Files
react-native/packages/react-native/Libraries/ReactNative/ReactNativeFeatureFlags.js
T
Samuel Susla c3f07d85a9 Add option to enable setNativeProps in Fabric for animated components (#38317)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38317

changelog: [internal]

Reviewed By: javache

Differential Revision: D47402598

fbshipit-source-id: cb780bde309d968c71677f9717b55485ae72540f
2023-07-12 13:22:20 -07:00

71 lines
2.3 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
* @format
*/
export type FeatureFlags = {|
/**
* Function used to enable / disabled Layout Animations in React Native.
* Default value = true.
*/
isLayoutAnimationEnabled: () => boolean,
/**
* Function used to enable / disable W3C pointer event emitting in React Native.
* If enabled you must also flip the equivalent native flags on each platform:
* iOS -> RCTSetDispatchW3CPointerEvents
* Android -> ReactFeatureFlags.dispatchPointerEvents
*/
shouldEmitW3CPointerEvents: () => boolean,
/**
* Function used to enable / disable Pressibility from using W3C Pointer Events
* for its hover callbacks
*/
shouldPressibilityUseW3CPointerEventsForHover: () => boolean,
/**
* Enables an experimental flush-queue debouncing in Animated.js.
*/
animatedShouldDebounceQueueFlush: () => boolean,
/**
* Enables an experimental mega-operation for Animated.js that replaces
* many calls to native with a single call into native, to reduce JSI/JNI
* traffic.
*/
animatedShouldUseSingleOp: () => boolean,
/**
* Enables GlobalPerformanceLogger replacement with a WebPerformance API based
* implementation
*/
isGlobalWebPerformanceLoggerEnabled: () => boolean,
/**
* Enables access to the host tree in Fabric using DOM-compatible APIs.
*/
enableAccessToHostTreeInFabric: () => boolean,
/**
* Enables use of AnimatedObject for animating transform values.
*/
shouldUseAnimatedObjectForTransform: () => boolean,
/**
* Enables use of setNativeProps in JS driven animations.
*/
useSetNativePropsInFabric: () => boolean,
|};
const ReactNativeFeatureFlags: FeatureFlags = {
isLayoutAnimationEnabled: () => true,
shouldEmitW3CPointerEvents: () => false,
shouldPressibilityUseW3CPointerEventsForHover: () => false,
animatedShouldDebounceQueueFlush: () => false,
animatedShouldUseSingleOp: () => false,
isGlobalWebPerformanceLoggerEnabled: () => false,
enableAccessToHostTreeInFabric: () => false,
shouldUseAnimatedObjectForTransform: () => false,
useSetNativePropsInFabric: () => false,
};
module.exports = ReactNativeFeatureFlags;