@office-iss/react-native-win32 0.0.0-canary.299 → 0.0.0-canary.300
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/.flowconfig +3 -6
- package/CHANGELOG.json +46 -1
- package/CHANGELOG.md +19 -6
- package/IntegrationTests/IntegrationTestsApp.js +1 -1
- package/Libraries/Alert/RCTAlertManager.android.js +2 -0
- package/Libraries/Animated/Animated.d.ts +2 -0
- package/Libraries/Animated/AnimatedImplementation.js +2 -0
- package/Libraries/Animated/Easing.js +2 -0
- package/Libraries/Animated/animations/Animation.js +14 -14
- package/Libraries/Animated/animations/TimingAnimation.js +2 -0
- package/Libraries/Animated/nodes/AnimatedNode.js +7 -7
- package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
- package/Libraries/Animated/nodes/AnimatedProps.js +30 -30
- package/Libraries/Animated/nodes/AnimatedStyle.js +17 -17
- package/Libraries/Animated/nodes/AnimatedTransform.js +5 -5
- package/Libraries/Animated/nodes/AnimatedValue.js +18 -18
- package/Libraries/AppState/AppState.js +3 -3
- package/Libraries/BatchedBridge/MessageQueue.js +4 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +10 -1
- package/Libraries/Components/Pressable/Pressable.win32.js +9 -0
- package/Libraries/Components/StatusBar/StatusBar.js +2 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +2 -2
- package/Libraries/Components/TextInput/TextInput.win32.js +2 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/View/View.js +86 -168
- package/Libraries/Core/ReactNativeVersion.js +37 -10
- package/Libraries/Core/Timers/queueMicrotask.js +1 -0
- package/Libraries/Core/setUpPerformance.js +2 -1
- package/Libraries/Interaction/InteractionManager.js +118 -171
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
- package/Libraries/LogBox/Data/LogBoxData.js +4 -1
- package/Libraries/Modal/Modal.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +18 -5
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Utilities/useMergeRefs.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +17 -31
- package/flow/HermesInternalType.js +114 -0
- package/flow/Stringish.js +14 -0
- package/flow/bom.js.flow +554 -0
- package/flow/console.js +49 -0
- package/flow/cssom.js.flow +575 -0
- package/flow/dom.js.flow +6289 -0
- package/flow/global.js +88 -0
- package/flow/prettier.js.flow +14 -0
- package/flow/streams.js.flow +140 -0
- package/index.js +5 -2
- package/index.win32.js +6 -2
- package/jest/mockComponent.js +1 -1
- package/jest/setup.js +11 -0
- package/overrides.json +11 -11
- package/package.json +19 -19
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +2 -49
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -48
- package/src/private/components/virtualview/VirtualView.js +22 -6
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -51
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +19 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -5
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
- package/src/private/webapis/performance/EventTiming.js +5 -9
- package/src/private/webapis/performance/Performance.js +251 -191
- package/src/private/webapis/performance/PerformanceObserver.js +8 -29
- package/src/private/webapis/performance/UserTiming.js +24 -23
- package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
- package/src/private/webapis/performance/internals/Utilities.js +9 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +19 -33
- package/src/private/webapis/structuredClone/structuredClone.js +1 -1
- package/Libraries/Interaction/InteractionManagerStub.js +0 -184
- package/Libraries/Interaction/TaskQueue.js +0 -197
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
|
@@ -16,9 +16,8 @@ import {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';
|
|
|
16
16
|
import AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';
|
|
17
17
|
import {isPlainObject} from '../../../Libraries/Animated/nodes/AnimatedObject';
|
|
18
18
|
import flattenStyle from '../../../Libraries/StyleSheet/flattenStyle';
|
|
19
|
-
import * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';
|
|
20
19
|
import nullthrows from 'nullthrows';
|
|
21
|
-
import {useInsertionEffect, useMemo, useRef
|
|
20
|
+
import {useInsertionEffect, useMemo, useRef} from 'react';
|
|
22
21
|
|
|
23
22
|
type CompositeKey = {
|
|
24
23
|
style?: {[string]: CompositeKeyComponent},
|
|
@@ -64,19 +63,6 @@ export function createAnimatedPropsMemoHook(
|
|
|
64
63
|
return function useAnimatedPropsMemo(
|
|
65
64
|
create: () => AnimatedProps,
|
|
66
65
|
props: $ReadOnly<{[string]: mixed}>,
|
|
67
|
-
): AnimatedProps {
|
|
68
|
-
// NOTE: This feature flag must be evaluated inside the hook because this
|
|
69
|
-
// module factory can be evaluated much sooner, before overrides are set.
|
|
70
|
-
const useAnimatedPropsImpl =
|
|
71
|
-
ReactNativeFeatureFlags.avoidStateUpdateInAnimatedPropsMemo()
|
|
72
|
-
? useAnimatedPropsMemo_ref
|
|
73
|
-
: useAnimatedPropsMemo_state;
|
|
74
|
-
return useAnimatedPropsImpl(create, props);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
function useAnimatedPropsMemo_ref(
|
|
78
|
-
create: () => AnimatedProps,
|
|
79
|
-
props: $ReadOnly<{[string]: mixed}>,
|
|
80
66
|
): AnimatedProps {
|
|
81
67
|
const compositeKey = useMemo(
|
|
82
68
|
() => createCompositeKeyForProps(props, allowlist),
|
|
@@ -102,39 +88,7 @@ export function createAnimatedPropsMemoHook(
|
|
|
102
88
|
}, [next]);
|
|
103
89
|
|
|
104
90
|
return next.node;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function useAnimatedPropsMemo_state(
|
|
108
|
-
create: () => AnimatedProps,
|
|
109
|
-
props: $ReadOnly<{[string]: mixed}>,
|
|
110
|
-
): AnimatedProps {
|
|
111
|
-
const compositeKey = useMemo(
|
|
112
|
-
() => createCompositeKeyForProps(props, allowlist),
|
|
113
|
-
[props],
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
const [state, setState] = useState<{
|
|
117
|
-
allowlist: ?AnimatedPropsAllowlist,
|
|
118
|
-
compositeKey: $ReadOnlyCompositeKey | null,
|
|
119
|
-
value: AnimatedProps,
|
|
120
|
-
}>(() => ({
|
|
121
|
-
allowlist,
|
|
122
|
-
compositeKey,
|
|
123
|
-
value: create(),
|
|
124
|
-
}));
|
|
125
|
-
|
|
126
|
-
if (
|
|
127
|
-
state.allowlist !== allowlist ||
|
|
128
|
-
!areCompositeKeysEqual(state.compositeKey, compositeKey)
|
|
129
|
-
) {
|
|
130
|
-
setState({
|
|
131
|
-
allowlist,
|
|
132
|
-
compositeKey,
|
|
133
|
-
value: create(),
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
return state.value;
|
|
137
|
-
}
|
|
91
|
+
};
|
|
138
92
|
}
|
|
139
93
|
|
|
140
94
|
/**
|
|
@@ -14,6 +14,7 @@ import type ReadOnlyElement from '../../webapis/dom/nodes/ReadOnlyElement';
|
|
|
14
14
|
import type {NativeModeChangeEvent} from './VirtualViewNativeComponent';
|
|
15
15
|
|
|
16
16
|
import StyleSheet from '../../../../Libraries/StyleSheet/StyleSheet';
|
|
17
|
+
import VirtualViewExperimentalNativeComponent from './VirtualViewExperimentalNativeComponent';
|
|
17
18
|
import VirtualViewNativeComponent from './VirtualViewNativeComponent';
|
|
18
19
|
import nullthrows from 'nullthrows';
|
|
19
20
|
import * as React from 'react';
|
|
@@ -59,9 +60,16 @@ const NotHidden = null;
|
|
|
59
60
|
|
|
60
61
|
type State = HiddenHeight | typeof NotHidden;
|
|
61
62
|
|
|
62
|
-
function createVirtualView(
|
|
63
|
+
function createVirtualView(
|
|
64
|
+
initialState: State,
|
|
65
|
+
experimental: boolean,
|
|
66
|
+
): VirtualViewComponent {
|
|
63
67
|
const initialHidden = initialState !== NotHidden;
|
|
64
68
|
|
|
69
|
+
const NativeComponent = experimental
|
|
70
|
+
? VirtualViewExperimentalNativeComponent
|
|
71
|
+
: VirtualViewNativeComponent;
|
|
72
|
+
|
|
65
73
|
component VirtualView(
|
|
66
74
|
children?: React.Node,
|
|
67
75
|
nativeID?: string,
|
|
@@ -112,7 +120,7 @@ function createVirtualView(initialState: State): VirtualViewComponent {
|
|
|
112
120
|
};
|
|
113
121
|
|
|
114
122
|
return (
|
|
115
|
-
<
|
|
123
|
+
<NativeComponent
|
|
116
124
|
initialHidden={initialHidden}
|
|
117
125
|
nativeID={nativeID}
|
|
118
126
|
ref={ref}
|
|
@@ -130,16 +138,24 @@ function createVirtualView(initialState: State): VirtualViewComponent {
|
|
|
130
138
|
}
|
|
131
139
|
onModeChange={handleModeChange}>
|
|
132
140
|
{isHidden ? null : children}
|
|
133
|
-
</
|
|
141
|
+
</NativeComponent>
|
|
134
142
|
);
|
|
135
143
|
}
|
|
136
144
|
return VirtualView;
|
|
137
145
|
}
|
|
138
146
|
|
|
139
|
-
export default createVirtualView(NotHidden) as VirtualViewComponent;
|
|
147
|
+
export default createVirtualView(NotHidden, false) as VirtualViewComponent;
|
|
148
|
+
|
|
149
|
+
export const VirtualViewExperimental = createVirtualView(
|
|
150
|
+
NotHidden,
|
|
151
|
+
true,
|
|
152
|
+
) as VirtualViewComponent;
|
|
140
153
|
|
|
141
|
-
export function createHiddenVirtualView(
|
|
142
|
-
|
|
154
|
+
export function createHiddenVirtualView(
|
|
155
|
+
height: number,
|
|
156
|
+
experimental: boolean,
|
|
157
|
+
): VirtualViewComponent {
|
|
158
|
+
return createVirtualView(height as HiddenHeight, experimental);
|
|
143
159
|
}
|
|
144
160
|
|
|
145
161
|
export const _logs: {states?: Array<State>} = {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';
|
|
12
|
+
import type {
|
|
13
|
+
DirectEventHandler,
|
|
14
|
+
Double,
|
|
15
|
+
Int32,
|
|
16
|
+
} from '../../../../Libraries/Types/CodegenTypes';
|
|
17
|
+
import type {HostComponent} from '../../types/HostComponent';
|
|
18
|
+
|
|
19
|
+
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
20
|
+
|
|
21
|
+
export type NativeModeChangeEvent = $ReadOnly<{
|
|
22
|
+
/**
|
|
23
|
+
* Virtualization mode of the target view.
|
|
24
|
+
*
|
|
25
|
+
* - `0`: Target view is visible.
|
|
26
|
+
* - `1`: Target view is hidden, but can be prerendered.
|
|
27
|
+
* - `2`: Target view is hidden.
|
|
28
|
+
*
|
|
29
|
+
* WORKAROUND: As of this writing, codegen doesn't support enums, so we need
|
|
30
|
+
* to convert `number` into an enum in `VirtualView`.
|
|
31
|
+
*/
|
|
32
|
+
mode: Int32,
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Rect of the target view, relative to the nearest ancestor scroll container.
|
|
36
|
+
*/
|
|
37
|
+
targetRect: $ReadOnly<{
|
|
38
|
+
x: Double,
|
|
39
|
+
y: Double,
|
|
40
|
+
width: Double,
|
|
41
|
+
height: Double,
|
|
42
|
+
}>,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Rect of the threshold that determines the mode of the target view, relative
|
|
46
|
+
* to the nearest ancestor scroll container.
|
|
47
|
+
*
|
|
48
|
+
* - `Visible`: Rect in which the target view is visible.
|
|
49
|
+
* - `Prerender`: Rect in which the target view is prerendered.
|
|
50
|
+
* - `Hidden`: Unused, without any guarantees.
|
|
51
|
+
*
|
|
52
|
+
* This can be used to determine whether and how much new content to render.
|
|
53
|
+
*/
|
|
54
|
+
thresholdRect: $ReadOnly<{
|
|
55
|
+
x: Double,
|
|
56
|
+
y: Double,
|
|
57
|
+
width: Double,
|
|
58
|
+
height: Double,
|
|
59
|
+
}>,
|
|
60
|
+
}>;
|
|
61
|
+
|
|
62
|
+
type VirtualViewExperimentalNativeProps = $ReadOnly<{
|
|
63
|
+
...ViewProps,
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Whether the initial mode should be `Hidden`.
|
|
67
|
+
*/
|
|
68
|
+
initialHidden?: boolean,
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Render state of children.
|
|
72
|
+
*
|
|
73
|
+
* - `0`: Reserved to represent unknown future values.
|
|
74
|
+
* - `1`: Children are rendered.
|
|
75
|
+
* - `2`: Children are not rendered.
|
|
76
|
+
*
|
|
77
|
+
* WORKAROUND: As of this writing, codegen doesn't support enums, so we need
|
|
78
|
+
* to convert `number` into an enum in `VirtualView`.
|
|
79
|
+
*/
|
|
80
|
+
renderState: Int32,
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* See `NativeModeChangeEvent`.
|
|
84
|
+
*/
|
|
85
|
+
onModeChange?: ?DirectEventHandler<NativeModeChangeEvent>,
|
|
86
|
+
}>;
|
|
87
|
+
|
|
88
|
+
export default codegenNativeComponent<VirtualViewExperimentalNativeProps>(
|
|
89
|
+
'VirtualViewExperimental',
|
|
90
|
+
{
|
|
91
|
+
interfaceOnly: true,
|
|
92
|
+
},
|
|
93
|
+
) as HostComponent<VirtualViewExperimentalNativeProps>;
|
|
@@ -15,8 +15,8 @@ import type {ReactDevToolsAgent} from '../../../../../Libraries/Types/ReactDevTo
|
|
|
15
15
|
import type {InspectedElement} from './Inspector';
|
|
16
16
|
|
|
17
17
|
import View from '../../../../../Libraries/Components/View/View';
|
|
18
|
-
import ReactNativeFeatureFlags from '../../../../../Libraries/ReactNative/ReactNativeFeatureFlags';
|
|
19
18
|
import StyleSheet from '../../../../../Libraries/StyleSheet/StyleSheet';
|
|
19
|
+
import * as ReactNativeFeatureFlags from '../../../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
20
20
|
import ElementBox from './ElementBox';
|
|
21
21
|
import * as React from 'react';
|
|
22
22
|
|
|
@@ -129,7 +129,7 @@ export default function ReactDevToolsOverlay({
|
|
|
129
129
|
if (isInspecting) {
|
|
130
130
|
const events =
|
|
131
131
|
// Pointer events only work on fabric
|
|
132
|
-
ReactNativeFeatureFlags.
|
|
132
|
+
ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()
|
|
133
133
|
? {
|
|
134
134
|
onPointerMove,
|
|
135
135
|
onPointerDown: onPointerMove,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<24a5d3213cbc7cd101d34e059ba5c8c4>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -29,21 +29,16 @@ import {
|
|
|
29
29
|
|
|
30
30
|
export type ReactNativeFeatureFlagsJsOnly = $ReadOnly<{
|
|
31
31
|
jsOnlyTestFlag: Getter<boolean>,
|
|
32
|
-
alwaysFlattenAnimatedStyles: Getter<boolean>,
|
|
33
32
|
animatedShouldDebounceQueueFlush: Getter<boolean>,
|
|
34
33
|
animatedShouldUseSingleOp: Getter<boolean>,
|
|
35
|
-
avoidStateUpdateInAnimatedPropsMemo: Getter<boolean>,
|
|
36
34
|
deferFlatListFocusChangeRenderUpdate: Getter<boolean>,
|
|
37
|
-
disableInteractionManager: Getter<boolean>,
|
|
38
35
|
enableAccessToHostTreeInFabric: Getter<boolean>,
|
|
39
36
|
fixVirtualizeListCollapseWindowSize: Getter<boolean>,
|
|
40
37
|
isLayoutAnimationEnabled: Getter<boolean>,
|
|
41
|
-
|
|
42
|
-
scheduleAnimatedCleanupInMicrotask: Getter<boolean>,
|
|
38
|
+
reduceDefaultPropsInText: Getter<boolean>,
|
|
43
39
|
shouldUseAnimatedObjectForTransform: Getter<boolean>,
|
|
44
40
|
shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean>,
|
|
45
41
|
shouldUseSetNativePropsInFabric: Getter<boolean>,
|
|
46
|
-
utilizeTokensInIntersectionObserver: Getter<boolean>,
|
|
47
42
|
}>;
|
|
48
43
|
|
|
49
44
|
export type ReactNativeFeatureFlagsJsOnlyOverrides = OverridesFor<ReactNativeFeatureFlagsJsOnly>;
|
|
@@ -52,11 +47,12 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
52
47
|
...ReactNativeFeatureFlagsJsOnly,
|
|
53
48
|
commonTestFlag: Getter<boolean>,
|
|
54
49
|
commonTestFlagWithoutNativeImplementation: Getter<boolean>,
|
|
55
|
-
|
|
50
|
+
cdpInteractionMetricsEnabled: Getter<boolean>,
|
|
56
51
|
cxxNativeAnimatedEnabled: Getter<boolean>,
|
|
57
52
|
cxxNativeAnimatedRemoveJsSync: Getter<boolean>,
|
|
58
|
-
|
|
53
|
+
disableFabricCommitInCXXAnimated: Getter<boolean>,
|
|
59
54
|
disableMountItemReorderingAndroid: Getter<boolean>,
|
|
55
|
+
disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean>,
|
|
60
56
|
disableTextLayoutManagerCacheAndroid: Getter<boolean>,
|
|
61
57
|
enableAccessibilityOrder: Getter<boolean>,
|
|
62
58
|
enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean>,
|
|
@@ -66,6 +62,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
66
62
|
enableCustomFocusSearchOnClippedElementsAndroid: Getter<boolean>,
|
|
67
63
|
enableDestroyShadowTreeRevisionAsync: Getter<boolean>,
|
|
68
64
|
enableDoubleMeasurementFixAndroid: Getter<boolean>,
|
|
65
|
+
enableEagerMainQueueModulesOnIOS: Getter<boolean>,
|
|
69
66
|
enableEagerRootViewAttachment: Getter<boolean>,
|
|
70
67
|
enableFabricLogs: Getter<boolean>,
|
|
71
68
|
enableFabricRenderer: Getter<boolean>,
|
|
@@ -73,11 +70,12 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
73
70
|
enableFontScaleChangesUpdatingLayout: Getter<boolean>,
|
|
74
71
|
enableIOSTextBaselineOffsetPerLine: Getter<boolean>,
|
|
75
72
|
enableIOSViewClipToPaddingBox: Getter<boolean>,
|
|
73
|
+
enableImagePrefetchingAndroid: Getter<boolean>,
|
|
74
|
+
enableImmediateUpdateModeForContentOffsetChanges: Getter<boolean>,
|
|
76
75
|
enableInteropViewManagerClassLookUpOptimizationIOS: Getter<boolean>,
|
|
77
76
|
enableLayoutAnimationsOnAndroid: Getter<boolean>,
|
|
78
77
|
enableLayoutAnimationsOnIOS: Getter<boolean>,
|
|
79
78
|
enableMainQueueCoordinatorOnIOS: Getter<boolean>,
|
|
80
|
-
enableMainQueueModulesOnIOS: Getter<boolean>,
|
|
81
79
|
enableModuleArgumentNSNullConversionIOS: Getter<boolean>,
|
|
82
80
|
enableNativeCSSParsing: Getter<boolean>,
|
|
83
81
|
enableNetworkEventReporting: Getter<boolean>,
|
|
@@ -85,7 +83,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
85
83
|
enablePreparedTextLayout: Getter<boolean>,
|
|
86
84
|
enablePropsUpdateReconciliationAndroid: Getter<boolean>,
|
|
87
85
|
enableResourceTimingAPI: Getter<boolean>,
|
|
88
|
-
enableSynchronousStateUpdates: Getter<boolean>,
|
|
89
86
|
enableViewCulling: Getter<boolean>,
|
|
90
87
|
enableViewRecycling: Getter<boolean>,
|
|
91
88
|
enableViewRecyclingForText: Getter<boolean>,
|
|
@@ -97,11 +94,19 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
97
94
|
fuseboxEnabledRelease: Getter<boolean>,
|
|
98
95
|
fuseboxNetworkInspectionEnabled: Getter<boolean>,
|
|
99
96
|
hideOffscreenVirtualViewsOnIOS: Getter<boolean>,
|
|
97
|
+
perfMonitorV2Enabled: Getter<boolean>,
|
|
100
98
|
preparedTextCacheSize: Getter<number>,
|
|
99
|
+
preventShadowTreeCommitExhaustion: Getter<boolean>,
|
|
100
|
+
releaseImageDataWhenConsumed: Getter<boolean>,
|
|
101
|
+
shouldPressibilityUseW3CPointerEventsForHover: Getter<boolean>,
|
|
102
|
+
skipActivityIdentityAssertionOnHostPause: Getter<boolean>,
|
|
103
|
+
sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean>,
|
|
101
104
|
traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
|
|
102
105
|
updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
|
|
103
106
|
useAlwaysAvailableJSErrorHandling: Getter<boolean>,
|
|
104
107
|
useFabricInterop: Getter<boolean>,
|
|
108
|
+
useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean>,
|
|
109
|
+
useNativeTransformHelperAndroid: Getter<boolean>,
|
|
105
110
|
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
106
111
|
useOptimizedEventBatchingOnAndroid: Getter<boolean>,
|
|
107
112
|
useRawPropsJsiValue: Getter<boolean>,
|
|
@@ -116,11 +121,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
116
121
|
*/
|
|
117
122
|
export const jsOnlyTestFlag: Getter<boolean> = createJavaScriptFlagGetter('jsOnlyTestFlag', false);
|
|
118
123
|
|
|
119
|
-
/**
|
|
120
|
-
* Changes `Animated` to always flatten style, fixing a bug with shadowed `AnimatedNode` instances.
|
|
121
|
-
*/
|
|
122
|
-
export const alwaysFlattenAnimatedStyles: Getter<boolean> = createJavaScriptFlagGetter('alwaysFlattenAnimatedStyles', false);
|
|
123
|
-
|
|
124
124
|
/**
|
|
125
125
|
* Enables an experimental flush-queue debouncing in Animated.js.
|
|
126
126
|
*/
|
|
@@ -131,21 +131,11 @@ export const animatedShouldDebounceQueueFlush: Getter<boolean> = createJavaScrip
|
|
|
131
131
|
*/
|
|
132
132
|
export const animatedShouldUseSingleOp: Getter<boolean> = createJavaScriptFlagGetter('animatedShouldUseSingleOp', false);
|
|
133
133
|
|
|
134
|
-
/**
|
|
135
|
-
* Changes `useAnimatedPropsMemo` to avoid state updates to invalidate the cached `AnimatedProps`.
|
|
136
|
-
*/
|
|
137
|
-
export const avoidStateUpdateInAnimatedPropsMemo: Getter<boolean> = createJavaScriptFlagGetter('avoidStateUpdateInAnimatedPropsMemo', true);
|
|
138
|
-
|
|
139
134
|
/**
|
|
140
135
|
* Use the deferred cell render update mechanism for focus change in FlatList.
|
|
141
136
|
*/
|
|
142
137
|
export const deferFlatListFocusChangeRenderUpdate: Getter<boolean> = createJavaScriptFlagGetter('deferFlatListFocusChangeRenderUpdate', false);
|
|
143
138
|
|
|
144
|
-
/**
|
|
145
|
-
* Disables InteractionManager and replaces its scheduler with `setImmediate`.
|
|
146
|
-
*/
|
|
147
|
-
export const disableInteractionManager: Getter<boolean> = createJavaScriptFlagGetter('disableInteractionManager', true);
|
|
148
|
-
|
|
149
139
|
/**
|
|
150
140
|
* Enables access to the host tree in Fabric using DOM-compatible APIs.
|
|
151
141
|
*/
|
|
@@ -162,14 +152,9 @@ export const fixVirtualizeListCollapseWindowSize: Getter<boolean> = createJavaSc
|
|
|
162
152
|
export const isLayoutAnimationEnabled: Getter<boolean> = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);
|
|
163
153
|
|
|
164
154
|
/**
|
|
165
|
-
* Optimize how default
|
|
166
|
-
*/
|
|
167
|
-
export const reduceDefaultPropsInView: Getter<boolean> = createJavaScriptFlagGetter('reduceDefaultPropsInView', true);
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Changes the cleanup of `AnimatedProps` to occur in a microtask instead of synchronously during effect cleanup (for unmount) or subsequent mounts (for updates).
|
|
155
|
+
* Optimize how default props are processed in Text to avoid unnecessary keys.
|
|
171
156
|
*/
|
|
172
|
-
export const
|
|
157
|
+
export const reduceDefaultPropsInText: Getter<boolean> = createJavaScriptFlagGetter('reduceDefaultPropsInText', false);
|
|
173
158
|
|
|
174
159
|
/**
|
|
175
160
|
* Enables use of AnimatedObject for animating transform values.
|
|
@@ -186,11 +171,6 @@ export const shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter<boolean> = cre
|
|
|
186
171
|
*/
|
|
187
172
|
export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScriptFlagGetter('shouldUseSetNativePropsInFabric', true);
|
|
188
173
|
|
|
189
|
-
/**
|
|
190
|
-
* Use tokens in IntersectionObserver vs ShadowNode.
|
|
191
|
-
*/
|
|
192
|
-
export const utilizeTokensInIntersectionObserver: Getter<boolean> = createJavaScriptFlagGetter('utilizeTokensInIntersectionObserver', true);
|
|
193
|
-
|
|
194
174
|
/**
|
|
195
175
|
* Common flag for testing. Do NOT modify.
|
|
196
176
|
*/
|
|
@@ -200,9 +180,9 @@ export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTes
|
|
|
200
180
|
*/
|
|
201
181
|
export const commonTestFlagWithoutNativeImplementation: Getter<boolean> = createNativeFlagGetter('commonTestFlagWithoutNativeImplementation', false);
|
|
202
182
|
/**
|
|
203
|
-
*
|
|
183
|
+
* Enable emitting of InteractionEntry live metrics to the debugger. Requires `enableBridgelessArchitecture`.
|
|
204
184
|
*/
|
|
205
|
-
export const
|
|
185
|
+
export const cdpInteractionMetricsEnabled: Getter<boolean> = createNativeFlagGetter('cdpInteractionMetricsEnabled', false);
|
|
206
186
|
/**
|
|
207
187
|
* Use a C++ implementation of Native Animated instead of the platform implementation.
|
|
208
188
|
*/
|
|
@@ -212,13 +192,17 @@ export const cxxNativeAnimatedEnabled: Getter<boolean> = createNativeFlagGetter(
|
|
|
212
192
|
*/
|
|
213
193
|
export const cxxNativeAnimatedRemoveJsSync: Getter<boolean> = createNativeFlagGetter('cxxNativeAnimatedRemoveJsSync', false);
|
|
214
194
|
/**
|
|
215
|
-
*
|
|
195
|
+
* Prevents use of Fabric commit in C++ Animated implementation
|
|
216
196
|
*/
|
|
217
|
-
export const
|
|
197
|
+
export const disableFabricCommitInCXXAnimated: Getter<boolean> = createNativeFlagGetter('disableFabricCommitInCXXAnimated', false);
|
|
218
198
|
/**
|
|
219
199
|
* Prevent FabricMountingManager from reordering mountItems, which may lead to invalid state on the UI thread
|
|
220
200
|
*/
|
|
221
201
|
export const disableMountItemReorderingAndroid: Getter<boolean> = createNativeFlagGetter('disableMountItemReorderingAndroid', false);
|
|
202
|
+
/**
|
|
203
|
+
* Disable some workarounds for old Android versions in TextLayoutManager logic for retrieving attachment metrics
|
|
204
|
+
*/
|
|
205
|
+
export const disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean> = createNativeFlagGetter('disableOldAndroidAttachmentMetricsWorkarounds', true);
|
|
222
206
|
/**
|
|
223
207
|
* Turns off the global measurement cache used by TextLayoutManager on Android.
|
|
224
208
|
*/
|
|
@@ -255,6 +239,10 @@ export const enableDestroyShadowTreeRevisionAsync: Getter<boolean> = createNativ
|
|
|
255
239
|
* When enabled a subset of components will avoid double measurement on Android.
|
|
256
240
|
*/
|
|
257
241
|
export const enableDoubleMeasurementFixAndroid: Getter<boolean> = createNativeFlagGetter('enableDoubleMeasurementFixAndroid', false);
|
|
242
|
+
/**
|
|
243
|
+
* This infra allows native modules to initialize on the main thread, during React Native init.
|
|
244
|
+
*/
|
|
245
|
+
export const enableEagerMainQueueModulesOnIOS: Getter<boolean> = createNativeFlagGetter('enableEagerMainQueueModulesOnIOS', false);
|
|
258
246
|
/**
|
|
259
247
|
* Feature flag to configure eager attachment of the root view/initialisation of the JS code.
|
|
260
248
|
*/
|
|
@@ -283,6 +271,14 @@ export const enableIOSTextBaselineOffsetPerLine: Getter<boolean> = createNativeF
|
|
|
283
271
|
* iOS Views will clip to their padding box vs border box
|
|
284
272
|
*/
|
|
285
273
|
export const enableIOSViewClipToPaddingBox: Getter<boolean> = createNativeFlagGetter('enableIOSViewClipToPaddingBox', false);
|
|
274
|
+
/**
|
|
275
|
+
* When enabled, Android will build and initiate image prefetch requests on ImageShadowNode::layout
|
|
276
|
+
*/
|
|
277
|
+
export const enableImagePrefetchingAndroid: Getter<boolean> = createNativeFlagGetter('enableImagePrefetchingAndroid', false);
|
|
278
|
+
/**
|
|
279
|
+
* Dispatches state updates for content offset changes synchronously on the main thread.
|
|
280
|
+
*/
|
|
281
|
+
export const enableImmediateUpdateModeForContentOffsetChanges: Getter<boolean> = createNativeFlagGetter('enableImmediateUpdateModeForContentOffsetChanges', false);
|
|
286
282
|
/**
|
|
287
283
|
* This is to fix the issue with interop view manager where component descriptor lookup is causing ViewManager to preload.
|
|
288
284
|
*/
|
|
@@ -299,10 +295,6 @@ export const enableLayoutAnimationsOnIOS: Getter<boolean> = createNativeFlagGett
|
|
|
299
295
|
* Make RCTUnsafeExecuteOnMainQueueSync less likely to deadlock, when used in conjuction with sync rendering/events.
|
|
300
296
|
*/
|
|
301
297
|
export const enableMainQueueCoordinatorOnIOS: Getter<boolean> = createNativeFlagGetter('enableMainQueueCoordinatorOnIOS', false);
|
|
302
|
-
/**
|
|
303
|
-
* Makes modules requiring main queue setup initialize on the main thread, during React Native init.
|
|
304
|
-
*/
|
|
305
|
-
export const enableMainQueueModulesOnIOS: Getter<boolean> = createNativeFlagGetter('enableMainQueueModulesOnIOS', false);
|
|
306
298
|
/**
|
|
307
299
|
* Enable NSNull conversion when handling module arguments on iOS
|
|
308
300
|
*/
|
|
@@ -331,10 +323,6 @@ export const enablePropsUpdateReconciliationAndroid: Getter<boolean> = createNat
|
|
|
331
323
|
* Enables the reporting of network resource timings through `PerformanceObserver`.
|
|
332
324
|
*/
|
|
333
325
|
export const enableResourceTimingAPI: Getter<boolean> = createNativeFlagGetter('enableResourceTimingAPI', false);
|
|
334
|
-
/**
|
|
335
|
-
* Dispatches state updates synchronously in Fabric (e.g.: updates the scroll position in the shadow tree synchronously from the main thread).
|
|
336
|
-
*/
|
|
337
|
-
export const enableSynchronousStateUpdates: Getter<boolean> = createNativeFlagGetter('enableSynchronousStateUpdates', false);
|
|
338
326
|
/**
|
|
339
327
|
* Enables View Culling: as soon as a view goes off screen, it can be reused anywhere in the UI and pieced together with other items to create new UI elements.
|
|
340
328
|
*/
|
|
@@ -358,7 +346,7 @@ export const enableVirtualViewDebugFeatures: Getter<boolean> = createNativeFlagG
|
|
|
358
346
|
/**
|
|
359
347
|
* Enables reading render state when dispatching VirtualView events.
|
|
360
348
|
*/
|
|
361
|
-
export const enableVirtualViewRenderState: Getter<boolean> = createNativeFlagGetter('enableVirtualViewRenderState',
|
|
349
|
+
export const enableVirtualViewRenderState: Getter<boolean> = createNativeFlagGetter('enableVirtualViewRenderState', true);
|
|
362
350
|
/**
|
|
363
351
|
* Enables window focus detection for prioritizing VirtualView events.
|
|
364
352
|
*/
|
|
@@ -379,10 +367,34 @@ export const fuseboxNetworkInspectionEnabled: Getter<boolean> = createNativeFlag
|
|
|
379
367
|
* Hides offscreen VirtualViews on iOS by setting hidden = YES to avoid extra cost of views
|
|
380
368
|
*/
|
|
381
369
|
export const hideOffscreenVirtualViewsOnIOS: Getter<boolean> = createNativeFlagGetter('hideOffscreenVirtualViewsOnIOS', false);
|
|
370
|
+
/**
|
|
371
|
+
* Enable the V2 in-app Performance Monitor. This flag is global and should not be changed across React Host lifetimes.
|
|
372
|
+
*/
|
|
373
|
+
export const perfMonitorV2Enabled: Getter<boolean> = createNativeFlagGetter('perfMonitorV2Enabled', false);
|
|
382
374
|
/**
|
|
383
375
|
* Number cached PreparedLayouts in TextLayoutManager cache
|
|
384
376
|
*/
|
|
385
377
|
export const preparedTextCacheSize: Getter<number> = createNativeFlagGetter('preparedTextCacheSize', 200);
|
|
378
|
+
/**
|
|
379
|
+
* Enables a new mechanism in ShadowTree to prevent problems caused by multiple threads trying to commit concurrently. If a thread tries to commit a few times unsuccessfully, it will acquire a lock and try again.
|
|
380
|
+
*/
|
|
381
|
+
export const preventShadowTreeCommitExhaustion: Getter<boolean> = createNativeFlagGetter('preventShadowTreeCommitExhaustion', false);
|
|
382
|
+
/**
|
|
383
|
+
* Releases the cached image data when it is consumed by the observers.
|
|
384
|
+
*/
|
|
385
|
+
export const releaseImageDataWhenConsumed: Getter<boolean> = createNativeFlagGetter('releaseImageDataWhenConsumed', false);
|
|
386
|
+
/**
|
|
387
|
+
* Function used to enable / disable Pressibility from using W3C Pointer Events for its hover callbacks
|
|
388
|
+
*/
|
|
389
|
+
export const shouldPressibilityUseW3CPointerEventsForHover: Getter<boolean> = createNativeFlagGetter('shouldPressibilityUseW3CPointerEventsForHover', false);
|
|
390
|
+
/**
|
|
391
|
+
* Skip activity identity assertion in ReactHostImpl::onHostPause()
|
|
392
|
+
*/
|
|
393
|
+
export const skipActivityIdentityAssertionOnHostPause: Getter<boolean> = createNativeFlagGetter('skipActivityIdentityAssertionOnHostPause', false);
|
|
394
|
+
/**
|
|
395
|
+
* A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
|
|
396
|
+
*/
|
|
397
|
+
export const sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean> = createNativeFlagGetter('sweepActiveTouchOnChildNativeGesturesAndroid', false);
|
|
386
398
|
/**
|
|
387
399
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
388
400
|
*/
|
|
@@ -399,6 +411,14 @@ export const useAlwaysAvailableJSErrorHandling: Getter<boolean> = createNativeFl
|
|
|
399
411
|
* Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.
|
|
400
412
|
*/
|
|
401
413
|
export const useFabricInterop: Getter<boolean> = createNativeFlagGetter('useFabricInterop', true);
|
|
414
|
+
/**
|
|
415
|
+
* Use a native implementation of equals in NativeReadableArray.
|
|
416
|
+
*/
|
|
417
|
+
export const useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean> = createNativeFlagGetter('useNativeEqualsInNativeReadableArrayAndroid', false);
|
|
418
|
+
/**
|
|
419
|
+
* Use a native implementation of TransformHelper
|
|
420
|
+
*/
|
|
421
|
+
export const useNativeTransformHelperAndroid: Getter<boolean> = createNativeFlagGetter('useNativeTransformHelperAndroid', false);
|
|
402
422
|
/**
|
|
403
423
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
404
424
|
*/
|
|
@@ -18,6 +18,10 @@ import NativeReactNativeFeatureFlags from './specs/NativeReactNativeFeatureFlags
|
|
|
18
18
|
const accessedFeatureFlags: Set<string> = new Set();
|
|
19
19
|
let overrides: ?ReactNativeFeatureFlagsJsOnlyOverrides;
|
|
20
20
|
|
|
21
|
+
// This is a list of functions to clear the cached value for each feature flag
|
|
22
|
+
// getter. This is only used in development.
|
|
23
|
+
const clearCachedValuesFns: Array<() => void> = [];
|
|
24
|
+
|
|
21
25
|
export type Getter<T> = () => T;
|
|
22
26
|
|
|
23
27
|
// This defines the types for the overrides object, whose methods also receive
|
|
@@ -33,6 +37,12 @@ function createGetter<T: boolean | number | string>(
|
|
|
33
37
|
): Getter<T> {
|
|
34
38
|
let cachedValue: ?T;
|
|
35
39
|
|
|
40
|
+
if (__DEV__) {
|
|
41
|
+
clearCachedValuesFns.push(() => {
|
|
42
|
+
cachedValue = undefined;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
36
46
|
return () => {
|
|
37
47
|
if (cachedValue == null) {
|
|
38
48
|
cachedValue = customValueGetter() ?? defaultValue;
|
|
@@ -115,3 +125,12 @@ function maybeLogUnavailableNativeModuleError(configName: string): void {
|
|
|
115
125
|
);
|
|
116
126
|
}
|
|
117
127
|
}
|
|
128
|
+
|
|
129
|
+
export function dangerouslyResetForTesting(): void {
|
|
130
|
+
if (__DEV__) {
|
|
131
|
+
overrides = null;
|
|
132
|
+
accessedFeatureFlags.clear();
|
|
133
|
+
reportedConfigNames.clear();
|
|
134
|
+
clearCachedValuesFns.forEach(fn => fn());
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<4bd1c1bd236e9afa5b010f58683d5e67>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -26,11 +26,12 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
|
|
|
26
26
|
export interface Spec extends TurboModule {
|
|
27
27
|
+commonTestFlag?: () => boolean;
|
|
28
28
|
+commonTestFlagWithoutNativeImplementation?: () => boolean;
|
|
29
|
-
+
|
|
29
|
+
+cdpInteractionMetricsEnabled?: () => boolean;
|
|
30
30
|
+cxxNativeAnimatedEnabled?: () => boolean;
|
|
31
31
|
+cxxNativeAnimatedRemoveJsSync?: () => boolean;
|
|
32
|
-
+
|
|
32
|
+
+disableFabricCommitInCXXAnimated?: () => boolean;
|
|
33
33
|
+disableMountItemReorderingAndroid?: () => boolean;
|
|
34
|
+
+disableOldAndroidAttachmentMetricsWorkarounds?: () => boolean;
|
|
34
35
|
+disableTextLayoutManagerCacheAndroid?: () => boolean;
|
|
35
36
|
+enableAccessibilityOrder?: () => boolean;
|
|
36
37
|
+enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
|
|
@@ -40,6 +41,7 @@ export interface Spec extends TurboModule {
|
|
|
40
41
|
+enableCustomFocusSearchOnClippedElementsAndroid?: () => boolean;
|
|
41
42
|
+enableDestroyShadowTreeRevisionAsync?: () => boolean;
|
|
42
43
|
+enableDoubleMeasurementFixAndroid?: () => boolean;
|
|
44
|
+
+enableEagerMainQueueModulesOnIOS?: () => boolean;
|
|
43
45
|
+enableEagerRootViewAttachment?: () => boolean;
|
|
44
46
|
+enableFabricLogs?: () => boolean;
|
|
45
47
|
+enableFabricRenderer?: () => boolean;
|
|
@@ -47,11 +49,12 @@ export interface Spec extends TurboModule {
|
|
|
47
49
|
+enableFontScaleChangesUpdatingLayout?: () => boolean;
|
|
48
50
|
+enableIOSTextBaselineOffsetPerLine?: () => boolean;
|
|
49
51
|
+enableIOSViewClipToPaddingBox?: () => boolean;
|
|
52
|
+
+enableImagePrefetchingAndroid?: () => boolean;
|
|
53
|
+
+enableImmediateUpdateModeForContentOffsetChanges?: () => boolean;
|
|
50
54
|
+enableInteropViewManagerClassLookUpOptimizationIOS?: () => boolean;
|
|
51
55
|
+enableLayoutAnimationsOnAndroid?: () => boolean;
|
|
52
56
|
+enableLayoutAnimationsOnIOS?: () => boolean;
|
|
53
57
|
+enableMainQueueCoordinatorOnIOS?: () => boolean;
|
|
54
|
-
+enableMainQueueModulesOnIOS?: () => boolean;
|
|
55
58
|
+enableModuleArgumentNSNullConversionIOS?: () => boolean;
|
|
56
59
|
+enableNativeCSSParsing?: () => boolean;
|
|
57
60
|
+enableNetworkEventReporting?: () => boolean;
|
|
@@ -59,7 +62,6 @@ export interface Spec extends TurboModule {
|
|
|
59
62
|
+enablePreparedTextLayout?: () => boolean;
|
|
60
63
|
+enablePropsUpdateReconciliationAndroid?: () => boolean;
|
|
61
64
|
+enableResourceTimingAPI?: () => boolean;
|
|
62
|
-
+enableSynchronousStateUpdates?: () => boolean;
|
|
63
65
|
+enableViewCulling?: () => boolean;
|
|
64
66
|
+enableViewRecycling?: () => boolean;
|
|
65
67
|
+enableViewRecyclingForText?: () => boolean;
|
|
@@ -71,11 +73,19 @@ export interface Spec extends TurboModule {
|
|
|
71
73
|
+fuseboxEnabledRelease?: () => boolean;
|
|
72
74
|
+fuseboxNetworkInspectionEnabled?: () => boolean;
|
|
73
75
|
+hideOffscreenVirtualViewsOnIOS?: () => boolean;
|
|
76
|
+
+perfMonitorV2Enabled?: () => boolean;
|
|
74
77
|
+preparedTextCacheSize?: () => number;
|
|
78
|
+
+preventShadowTreeCommitExhaustion?: () => boolean;
|
|
79
|
+
+releaseImageDataWhenConsumed?: () => boolean;
|
|
80
|
+
+shouldPressibilityUseW3CPointerEventsForHover?: () => boolean;
|
|
81
|
+
+skipActivityIdentityAssertionOnHostPause?: () => boolean;
|
|
82
|
+
+sweepActiveTouchOnChildNativeGesturesAndroid?: () => boolean;
|
|
75
83
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
76
84
|
+updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
|
|
77
85
|
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
78
86
|
+useFabricInterop?: () => boolean;
|
|
87
|
+
+useNativeEqualsInNativeReadableArrayAndroid?: () => boolean;
|
|
88
|
+
+useNativeTransformHelperAndroid?: () => boolean;
|
|
79
89
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
80
90
|
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
81
91
|
+useRawPropsJsiValue?: () => boolean;
|
|
@@ -220,7 +220,7 @@ export default class ReadOnlyElement extends ReadOnlyNode {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
function getChildElements(node: ReadOnlyNode): $ReadOnlyArray<ReadOnlyElement> {
|
|
223
|
-
// $
|
|
223
|
+
// $FlowFixMe[incompatible-call]
|
|
224
224
|
return getChildNodes(node).filter(
|
|
225
225
|
childNode => childNode instanceof ReadOnlyElement,
|
|
226
226
|
);
|