@office-iss/react-native-win32 0.0.0-canary.271 → 0.0.0-canary.273
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 +1 -1
- package/CHANGELOG.json +31 -1
- package/CHANGELOG.md +20 -4
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/animations/Animation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedProps.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +3 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/Button.win32.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +9 -6
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +4 -4
- package/Libraries/Components/ScrollView/ScrollView.js +5 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
- package/Libraries/Components/TextInput/TextInput.d.ts +4 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +2 -0
- package/Libraries/Components/TextInput/TextInput.js +6 -4
- package/Libraries/Components/TextInput/TextInput.win32.js +6 -4
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/View/View.js +4 -4
- package/Libraries/Components/View/View.win32.js +4 -4
- package/Libraries/Components/View/ViewNativeComponent.js +3 -88
- package/Libraries/Core/ExceptionsManager.js +3 -2
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/setUpReactDevTools.js +74 -1
- package/Libraries/Core/setUpTimers.js +21 -10
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/Image.android.js +1 -3
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/Image.win32.js +0 -2
- package/Libraries/Image/ImageProps.js +4 -4
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/Inspector.win32.js +1 -0
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/Modal/Modal.js +3 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +65 -0
- package/Libraries/ReactNative/AppRegistry.js +1 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -9
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +1 -1
- package/Libraries/Text/Text.js +1 -4
- package/Libraries/Text/Text.win32.js +1 -4
- package/Libraries/Utilities/FocusManager.win32.js +1 -1
- package/Libraries/Utilities/Platform.flow.win32.js +1 -0
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/index.js +1 -1
- package/index.win32.js +1 -1
- package/jest/setup.js +1 -0
- package/overrides.json +13 -14
- package/package.json +14 -14
- package/src/private/animated/NativeAnimatedHelper.js +4 -4
- package/src/private/animated/NativeAnimatedHelper.win32.js +4 -4
- package/src/private/animated/useAnimatedPropsMemo.js +0 -1
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -1
- package/src/private/components/VScrollViewNativeComponents.js +4 -5
- package/src/private/featureflags/ReactNativeFeatureFlags.js +12 -12
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -3
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/Performance.js +36 -15
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +18 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +32 -12
|
@@ -36,7 +36,7 @@ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
|
|
|
36
36
|
}
|
|
37
37
|
// It could although this object is not a standard error, it still has stack information to unwind
|
|
38
38
|
// $FlowFixMe ignore types just check if stack is there
|
|
39
|
-
if (rejection
|
|
39
|
+
if (rejection?.stack && typeof rejection.stack === 'string') {
|
|
40
40
|
stack = rejection.stack;
|
|
41
41
|
}
|
|
42
42
|
}
|
package/index.js
CHANGED
|
@@ -88,7 +88,6 @@ import typeof UTFSequence from './Libraries/UTFSequence';
|
|
|
88
88
|
import typeof * as Appearance from './Libraries/Utilities/Appearance';
|
|
89
89
|
import typeof BackHandler from './Libraries/Utilities/BackHandler';
|
|
90
90
|
import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
|
|
91
|
-
import typeof DevMenu from './src/private/devmenu/DevMenu';
|
|
92
91
|
import typeof DevSettings from './Libraries/Utilities/DevSettings';
|
|
93
92
|
import typeof Dimensions from './Libraries/Utilities/Dimensions';
|
|
94
93
|
import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
|
|
@@ -97,6 +96,7 @@ import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
|
|
|
97
96
|
import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
|
|
98
97
|
import typeof Vibration from './Libraries/Vibration/Vibration';
|
|
99
98
|
import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
|
|
99
|
+
import typeof DevMenu from './src/private/devmenu/DevMenu';
|
|
100
100
|
|
|
101
101
|
const warnOnce = require('./Libraries/Utilities/warnOnce');
|
|
102
102
|
const invariant = require('invariant');
|
package/index.win32.js
CHANGED
|
@@ -88,7 +88,6 @@ import typeof UTFSequence from './Libraries/UTFSequence';
|
|
|
88
88
|
import typeof * as Appearance from './Libraries/Utilities/Appearance';
|
|
89
89
|
import typeof BackHandler from './Libraries/Utilities/BackHandler';
|
|
90
90
|
import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
|
|
91
|
-
import typeof DevMenu from './src/private/devmenu/DevMenu';
|
|
92
91
|
import typeof DevSettings from './Libraries/Utilities/DevSettings';
|
|
93
92
|
import typeof Dimensions from './Libraries/Utilities/Dimensions';
|
|
94
93
|
import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
|
|
@@ -97,6 +96,7 @@ import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
|
|
|
97
96
|
import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
|
|
98
97
|
import typeof Vibration from './Libraries/Vibration/Vibration';
|
|
99
98
|
import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
|
|
99
|
+
import typeof DevMenu from './src/private/devmenu/DevMenu';
|
|
100
100
|
|
|
101
101
|
const warnOnce = require('./Libraries/Utilities/warnOnce');
|
|
102
102
|
const invariant = require('invariant');
|
package/jest/setup.js
CHANGED
|
@@ -146,6 +146,7 @@ jest
|
|
|
146
146
|
remove: jest.fn(),
|
|
147
147
|
})),
|
|
148
148
|
announceForAccessibility: jest.fn(),
|
|
149
|
+
announceForAccessibilityWithOptions: jest.fn(),
|
|
149
150
|
isAccessibilityServiceEnabled: jest.fn(() => Promise.resolve(false)),
|
|
150
151
|
isBoldTextEnabled: jest.fn(() => Promise.resolve(false)),
|
|
151
152
|
isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)),
|
package/overrides.json
CHANGED
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
"**/__snapshots__/**",
|
|
8
8
|
"src-win/rntypes/**"
|
|
9
9
|
],
|
|
10
|
-
"baseVersion": "0.77.0-nightly-
|
|
10
|
+
"baseVersion": "0.77.0-nightly-20241020-e7a3f479f",
|
|
11
11
|
"overrides": [
|
|
12
12
|
{
|
|
13
13
|
"type": "derived",
|
|
14
14
|
"file": ".flowconfig",
|
|
15
15
|
"baseFile": ".flowconfig",
|
|
16
|
-
"baseHash": "
|
|
16
|
+
"baseHash": "d824685eb9983c3aecb6d8207eeb0312f3d5a743"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"type": "derived",
|
|
20
20
|
"file": "src-win/index.win32.js",
|
|
21
21
|
"baseFile": "packages/react-native/index.js",
|
|
22
|
-
"baseHash": "
|
|
22
|
+
"baseHash": "2c80856075b7979d9119fb5e2b4b66b43456c068"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"type": "platform",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"type": "derived",
|
|
61
61
|
"file": "src-win/Libraries/Components/Button.win32.js",
|
|
62
62
|
"baseFile": "packages/react-native/Libraries/Components/Button.js",
|
|
63
|
-
"baseHash": "
|
|
63
|
+
"baseHash": "e1464525e6950f773370855ccbe60217ef638613"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"type": "platform",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"type": "patch",
|
|
86
86
|
"file": "src-win/Libraries/Components/Pressable/Pressable.win32.js",
|
|
87
87
|
"baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js",
|
|
88
|
-
"baseHash": "
|
|
88
|
+
"baseHash": "5f8baef36e1cbba73ff2c21b0ccbf310d125b334",
|
|
89
89
|
"issue": 6240
|
|
90
90
|
},
|
|
91
91
|
{
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"type": "copy",
|
|
100
100
|
"file": "src-win/Libraries/Components/SafeAreaView/SafeAreaView.win32.js",
|
|
101
101
|
"baseFile": "packages/react-native/Libraries/Components/SafeAreaView/SafeAreaView.js",
|
|
102
|
-
"baseHash": "
|
|
102
|
+
"baseHash": "e1372371cf14c8abd4fb5f2328513596f6553497"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
105
105
|
"type": "platform",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"type": "derived",
|
|
110
110
|
"file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
|
|
111
111
|
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
|
|
112
|
-
"baseHash": "
|
|
112
|
+
"baseHash": "87f676e0bfd031b3dd8c79cf78b64af3c525b151"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"type": "patch",
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"type": "patch",
|
|
174
174
|
"file": "src-win/Libraries/Components/View/View.win32.js",
|
|
175
175
|
"baseFile": "packages/react-native/Libraries/Components/View/View.js",
|
|
176
|
-
"baseHash": "
|
|
176
|
+
"baseHash": "85d97fc0638ce73353898f67d0f891a86ee83f3f"
|
|
177
177
|
},
|
|
178
178
|
{
|
|
179
179
|
"type": "derived",
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
"type": "derived",
|
|
233
233
|
"file": "src-win/Libraries/Image/Image.win32.js",
|
|
234
234
|
"baseFile": "packages/react-native/Libraries/Image/Image.ios.js",
|
|
235
|
-
"baseHash": "
|
|
235
|
+
"baseHash": "a5abee6de7dca3cb043b834925de3f6f0443c738",
|
|
236
236
|
"issue": 4320
|
|
237
237
|
},
|
|
238
238
|
{
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
"type": "patch",
|
|
287
287
|
"file": "src-win/Libraries/Inspector/Inspector.win32.js",
|
|
288
288
|
"baseFile": "packages/react-native/Libraries/Inspector/Inspector.js",
|
|
289
|
-
"baseHash": "
|
|
289
|
+
"baseHash": "ad3ed5cb941f304f5751c6d12274ffe81753162c"
|
|
290
290
|
},
|
|
291
291
|
{
|
|
292
292
|
"type": "patch",
|
|
@@ -426,7 +426,7 @@
|
|
|
426
426
|
"type": "derived",
|
|
427
427
|
"file": "src-win/Libraries/Text/Text.win32.js",
|
|
428
428
|
"baseFile": "packages/react-native/Libraries/Text/Text.js",
|
|
429
|
-
"baseHash": "
|
|
429
|
+
"baseHash": "64cdf1c520112ead78e348bc306c208f212ac3c5"
|
|
430
430
|
},
|
|
431
431
|
{
|
|
432
432
|
"type": "derived",
|
|
@@ -497,20 +497,19 @@
|
|
|
497
497
|
"type": "copy",
|
|
498
498
|
"file": "src-win/Libraries/Utilities/useMergeRefs.js",
|
|
499
499
|
"baseFile": "packages/react-native/Libraries/Utilities/useMergeRefs.js",
|
|
500
|
-
"baseHash": "
|
|
500
|
+
"baseHash": "4ba42e1b43ef55a1a9e3095336979fa712f4dc8d"
|
|
501
501
|
},
|
|
502
502
|
{
|
|
503
503
|
"type": "patch",
|
|
504
504
|
"file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js",
|
|
505
505
|
"baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js",
|
|
506
|
-
"baseHash": "
|
|
506
|
+
"baseHash": "8c67d57575cccb7281b15ca2591e4edf5c5c36dd",
|
|
507
507
|
"issue": 11041
|
|
508
508
|
},
|
|
509
509
|
{
|
|
510
510
|
"type": "copy",
|
|
511
511
|
"file": "src-win/src/private/debugging/ReactDevToolsSettingsManager.win32.js",
|
|
512
512
|
"baseFile": "packages/react-native/src/private/debugging/ReactDevToolsSettingsManager.android.js",
|
|
513
|
-
"baseVersion": "0.77.0-nightly-20241001-223e98cc4",
|
|
514
513
|
"baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01"
|
|
515
514
|
},
|
|
516
515
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@office-iss/react-native-win32",
|
|
3
|
-
"version": "0.0.0-canary.
|
|
3
|
+
"version": "0.0.0-canary.273",
|
|
4
4
|
"description": "Implementation of react native on top of Office's Win32 platform.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"@react-native-community/cli-platform-android": "15.0.0-alpha.2",
|
|
31
31
|
"@react-native-community/cli-platform-ios": "15.0.0-alpha.2",
|
|
32
32
|
"@react-native/assets": "1.0.0",
|
|
33
|
-
"@react-native/assets-registry": "0.77.0-nightly-
|
|
34
|
-
"@react-native/codegen": "0.77.0-nightly-
|
|
35
|
-
"@react-native/community-cli-plugin": "0.77.0-nightly-
|
|
36
|
-
"@react-native/gradle-plugin": "0.77.0-nightly-
|
|
37
|
-
"@react-native/js-polyfills": "0.77.0-nightly-
|
|
38
|
-
"@react-native/normalize-colors": "0.77.0-nightly-
|
|
39
|
-
"@react-native/virtualized-lists": "0.77.0-nightly-
|
|
33
|
+
"@react-native/assets-registry": "0.77.0-nightly-20241020-e7a3f479f",
|
|
34
|
+
"@react-native/codegen": "0.77.0-nightly-20241020-e7a3f479f",
|
|
35
|
+
"@react-native/community-cli-plugin": "0.77.0-nightly-20241020-e7a3f479f",
|
|
36
|
+
"@react-native/gradle-plugin": "0.77.0-nightly-20241020-e7a3f479f",
|
|
37
|
+
"@react-native/js-polyfills": "0.77.0-nightly-20241020-e7a3f479f",
|
|
38
|
+
"@react-native/normalize-colors": "0.77.0-nightly-20241020-e7a3f479f",
|
|
39
|
+
"@react-native/virtualized-lists": "0.77.0-nightly-20241020-e7a3f479f",
|
|
40
40
|
"abort-controller": "^3.0.0",
|
|
41
41
|
"anser": "^1.4.9",
|
|
42
42
|
"ansi-regex": "^5.0.0",
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
"jest-environment-node": "^29.6.3",
|
|
54
54
|
"jsc-android": "^250231.0.0",
|
|
55
55
|
"memoize-one": "^5.0.0",
|
|
56
|
-
"metro-runtime": "^0.81.0
|
|
57
|
-
"metro-source-map": "^0.81.0
|
|
56
|
+
"metro-runtime": "^0.81.0",
|
|
57
|
+
"metro-source-map": "^0.81.0",
|
|
58
58
|
"mkdirp": "^0.5.1",
|
|
59
59
|
"nullthrows": "^1.1.1",
|
|
60
60
|
"pretty-format": "^29.7.0",
|
|
61
61
|
"promise": "^8.3.0",
|
|
62
62
|
"react-clone-referenced-element": "^1.0.1",
|
|
63
|
-
"react-devtools-core": "^6.0.
|
|
63
|
+
"react-devtools-core": "^6.0.1",
|
|
64
64
|
"react-refresh": "^0.14.0",
|
|
65
65
|
"react-shallow-renderer": "^16.15.0",
|
|
66
66
|
"regenerator-runtime": "^0.13.2",
|
|
@@ -85,19 +85,19 @@
|
|
|
85
85
|
"@types/prop-types": "15.7.1",
|
|
86
86
|
"@types/react": "^18.2.6",
|
|
87
87
|
"eslint": "^8.19.0",
|
|
88
|
-
"flow-bin": "^0.
|
|
88
|
+
"flow-bin": "^0.250.0",
|
|
89
89
|
"jscodeshift": "^0.14.0",
|
|
90
90
|
"just-scripts": "^1.3.3",
|
|
91
91
|
"prettier": "2.8.8",
|
|
92
92
|
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
|
93
|
-
"react-native": "0.77.0-nightly-
|
|
93
|
+
"react-native": "0.77.0-nightly-20241020-e7a3f479f",
|
|
94
94
|
"react-native-platform-override": "^1.9.49",
|
|
95
95
|
"typescript": "5.0.4"
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|
|
98
98
|
"@types/react": "^18.2.6",
|
|
99
99
|
"react": "^19.0.0-rc-fb9a90fa48-20240614",
|
|
100
|
-
"react-native": "0.77.0-nightly-
|
|
100
|
+
"react-native": "0.77.0-nightly-20241020-e7a3f479f"
|
|
101
101
|
},
|
|
102
102
|
"beachball": {
|
|
103
103
|
"defaultNpmTag": "canary",
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {EventSubscription} from '../../../Libraries/vendor/emitter/EventEmitter';
|
|
12
11
|
import type {EventConfig} from '../../../Libraries/Animated/AnimatedEvent';
|
|
13
12
|
import type {
|
|
14
13
|
AnimationConfig,
|
|
@@ -18,13 +17,14 @@ import type {
|
|
|
18
17
|
AnimatedNodeConfig,
|
|
19
18
|
EventMapping,
|
|
20
19
|
} from '../../../Libraries/Animated/NativeAnimatedModule';
|
|
20
|
+
import type {EventSubscription} from '../../../Libraries/vendor/emitter/EventEmitter';
|
|
21
21
|
|
|
22
|
-
import
|
|
22
|
+
import NativeAnimatedNonTurboModule from '../../../Libraries/Animated/NativeAnimatedModule';
|
|
23
|
+
import NativeAnimatedTurboModule from '../../../Libraries/Animated/NativeAnimatedTurboModule';
|
|
23
24
|
import NativeEventEmitter from '../../../Libraries/EventEmitter/NativeEventEmitter';
|
|
24
25
|
import RCTDeviceEventEmitter from '../../../Libraries/EventEmitter/RCTDeviceEventEmitter';
|
|
25
26
|
import Platform from '../../../Libraries/Utilities/Platform';
|
|
26
|
-
import
|
|
27
|
-
import NativeAnimatedTurboModule from '../../../Libraries/Animated/NativeAnimatedTurboModule';
|
|
27
|
+
import * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';
|
|
28
28
|
import invariant from 'invariant';
|
|
29
29
|
import nullthrows from 'nullthrows';
|
|
30
30
|
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import type {EventSubscription} from '../../../Libraries/vendor/emitter/EventEmitter';
|
|
12
11
|
import type {EventConfig} from '../../../Libraries/Animated/AnimatedEvent';
|
|
13
12
|
import type {
|
|
14
13
|
AnimationConfig,
|
|
@@ -18,13 +17,14 @@ import type {
|
|
|
18
17
|
AnimatedNodeConfig,
|
|
19
18
|
EventMapping,
|
|
20
19
|
} from '../../../Libraries/Animated/NativeAnimatedModule';
|
|
20
|
+
import type {EventSubscription} from '../../../Libraries/vendor/emitter/EventEmitter';
|
|
21
21
|
|
|
22
|
-
import
|
|
22
|
+
import NativeAnimatedNonTurboModule from '../../../Libraries/Animated/NativeAnimatedModule';
|
|
23
|
+
import NativeAnimatedTurboModule from '../../../Libraries/Animated/NativeAnimatedTurboModule';
|
|
23
24
|
import NativeEventEmitter from '../../../Libraries/EventEmitter/NativeEventEmitter';
|
|
24
25
|
import RCTDeviceEventEmitter from '../../../Libraries/EventEmitter/RCTDeviceEventEmitter';
|
|
25
26
|
import Platform from '../../../Libraries/Utilities/Platform';
|
|
26
|
-
import
|
|
27
|
-
import NativeAnimatedTurboModule from '../../../Libraries/Animated/NativeAnimatedTurboModule';
|
|
27
|
+
import * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';
|
|
28
28
|
import invariant from 'invariant';
|
|
29
29
|
import nullthrows from 'nullthrows';
|
|
30
30
|
|
|
@@ -17,7 +17,6 @@ import {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';
|
|
|
17
17
|
import AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';
|
|
18
18
|
import {isPlainObject} from '../../../Libraries/Animated/nodes/AnimatedObject';
|
|
19
19
|
import flattenStyle from '../../../Libraries/StyleSheet/flattenStyle';
|
|
20
|
-
|
|
21
20
|
import nullthrows from 'nullthrows';
|
|
22
21
|
import {useMemo, useState} from 'react';
|
|
23
22
|
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
import View from '../../../Libraries/Components/View/View';
|
|
15
15
|
import UIManager from '../../../Libraries/ReactNative/UIManager';
|
|
16
|
+
import Platform from '../../../Libraries/Utilities/Platform';
|
|
16
17
|
import * as React from 'react';
|
|
17
18
|
|
|
18
19
|
const exported: React.AbstractComponent<
|
|
@@ -23,11 +23,10 @@ import * as React from 'react';
|
|
|
23
23
|
import {forwardRef} from 'react';
|
|
24
24
|
|
|
25
25
|
// TODO: After upgrading to React 19, remove `forwardRef` from this component.
|
|
26
|
-
export const VScrollViewNativeComponent:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
> = forwardRef(function VScrollViewNativeComponent(
|
|
26
|
+
export const VScrollViewNativeComponent: component(
|
|
27
|
+
ref: React.RefSetter<TScrollViewNativeImperativeHandle>,
|
|
28
|
+
...props: ScrollViewNativeProps
|
|
29
|
+
) = forwardRef(function VScrollViewNativeComponent(
|
|
31
30
|
props: ScrollViewNativeProps,
|
|
32
31
|
ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
|
|
33
32
|
): React.Node {
|
|
@@ -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<<1c91049b99046065031ca8b826ab20a6>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -51,9 +51,11 @@ export type ReactNativeFeatureFlagsJsOnlyOverrides = OverridesFor<ReactNativeFea
|
|
|
51
51
|
export type ReactNativeFeatureFlags = {
|
|
52
52
|
...ReactNativeFeatureFlagsJsOnly,
|
|
53
53
|
commonTestFlag: Getter<boolean>,
|
|
54
|
+
commonTestFlagWithoutNativeImplementation: Getter<boolean>,
|
|
54
55
|
allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
|
|
55
56
|
batchRenderingUpdatesInEventLoop: Getter<boolean>,
|
|
56
57
|
completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
|
|
58
|
+
disableEventLoopOnBridgeless: Getter<boolean>,
|
|
57
59
|
enableAlignItemsBaselineOnFabricIOS: Getter<boolean>,
|
|
58
60
|
enableAndroidLineHeightCentering: Getter<boolean>,
|
|
59
61
|
enableBridgelessArchitecture: Getter<boolean>,
|
|
@@ -78,7 +80,6 @@ export type ReactNativeFeatureFlags = {
|
|
|
78
80
|
enableUIConsistency: Getter<boolean>,
|
|
79
81
|
enableViewRecycling: Getter<boolean>,
|
|
80
82
|
excludeYogaFromRawProps: Getter<boolean>,
|
|
81
|
-
fetchImagesInViewPreallocation: Getter<boolean>,
|
|
82
83
|
fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
|
|
83
84
|
fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean>,
|
|
84
85
|
forceBatchingMountItemsOnAndroid: Getter<boolean>,
|
|
@@ -87,7 +88,6 @@ export type ReactNativeFeatureFlags = {
|
|
|
87
88
|
initEagerTurboModulesOnNativeModulesQueueAndroid: Getter<boolean>,
|
|
88
89
|
lazyAnimationCallbacks: Getter<boolean>,
|
|
89
90
|
loadVectorDrawablesOnImages: Getter<boolean>,
|
|
90
|
-
removeNestedCallsToDispatchMountItemsOnAndroid: Getter<boolean>,
|
|
91
91
|
setAndroidLayoutDirection: Getter<boolean>,
|
|
92
92
|
traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
|
|
93
93
|
useFabricInterop: Getter<boolean>,
|
|
@@ -190,6 +190,10 @@ export const useRefsForTextInputState: Getter<boolean> = createJavaScriptFlagGet
|
|
|
190
190
|
* Common flag for testing. Do NOT modify.
|
|
191
191
|
*/
|
|
192
192
|
export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTestFlag', false);
|
|
193
|
+
/**
|
|
194
|
+
* Common flag for testing (without native implementation). Do NOT modify.
|
|
195
|
+
*/
|
|
196
|
+
export const commonTestFlagWithoutNativeImplementation: Getter<boolean> = createNativeFlagGetter('commonTestFlagWithoutNativeImplementation', false);
|
|
193
197
|
/**
|
|
194
198
|
* Adds support for recursively processing commits that mount synchronously (Android only).
|
|
195
199
|
*/
|
|
@@ -202,6 +206,10 @@ export const batchRenderingUpdatesInEventLoop: Getter<boolean> = createNativeFla
|
|
|
202
206
|
* Do not wait for a main-thread dispatch to complete init to start executing work on the JS thread on Android
|
|
203
207
|
*/
|
|
204
208
|
export const completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean> = createNativeFlagGetter('completeReactInstanceCreationOnBgThreadOnAndroid', false);
|
|
209
|
+
/**
|
|
210
|
+
* The bridgeless architecture enables the event loop by default. This feature flag allows us to force disabling it in specific instances.
|
|
211
|
+
*/
|
|
212
|
+
export const disableEventLoopOnBridgeless: Getter<boolean> = createNativeFlagGetter('disableEventLoopOnBridgeless', false);
|
|
205
213
|
/**
|
|
206
214
|
* Kill-switch to turn off support for aling-items:baseline on Fabric iOS.
|
|
207
215
|
*/
|
|
@@ -298,10 +306,6 @@ export const enableViewRecycling: Getter<boolean> = createNativeFlagGetter('enab
|
|
|
298
306
|
* When enabled, rawProps in Props will not include Yoga specific props.
|
|
299
307
|
*/
|
|
300
308
|
export const excludeYogaFromRawProps: Getter<boolean> = createNativeFlagGetter('excludeYogaFromRawProps', false);
|
|
301
|
-
/**
|
|
302
|
-
* Start image fetching during view preallocation instead of waiting for layout pass
|
|
303
|
-
*/
|
|
304
|
-
export const fetchImagesInViewPreallocation: Getter<boolean> = createNativeFlagGetter('fetchImagesInViewPreallocation', false);
|
|
305
309
|
/**
|
|
306
310
|
* Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
|
|
307
311
|
*/
|
|
@@ -334,10 +338,6 @@ export const lazyAnimationCallbacks: Getter<boolean> = createNativeFlagGetter('l
|
|
|
334
338
|
* Adds support for loading vector drawable assets in the Image component (only on Android)
|
|
335
339
|
*/
|
|
336
340
|
export const loadVectorDrawablesOnImages: Getter<boolean> = createNativeFlagGetter('loadVectorDrawablesOnImages', false);
|
|
337
|
-
/**
|
|
338
|
-
* Removes nested calls to MountItemDispatcher.dispatchMountItems on Android, so we do less work per frame on the UI thread.
|
|
339
|
-
*/
|
|
340
|
-
export const removeNestedCallsToDispatchMountItemsOnAndroid: Getter<boolean> = createNativeFlagGetter('removeNestedCallsToDispatchMountItemsOnAndroid', false);
|
|
341
341
|
/**
|
|
342
342
|
* Propagate layout direction to Android views.
|
|
343
343
|
*/
|
|
@@ -373,7 +373,7 @@ export const useOptimizedEventBatchingOnAndroid: Getter<boolean> = createNativeF
|
|
|
373
373
|
/**
|
|
374
374
|
* When enabled, cloning shadow nodes within react native will update the reference held by the current JS fiber tree.
|
|
375
375
|
*/
|
|
376
|
-
export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate',
|
|
376
|
+
export const useRuntimeShadowNodeReferenceUpdate: Getter<boolean> = createNativeFlagGetter('useRuntimeShadowNodeReferenceUpdate', false);
|
|
377
377
|
/**
|
|
378
378
|
* In Bridgeless mode, should legacy NativeModules use the TurboModule system?
|
|
379
379
|
*/
|
|
@@ -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<<255e1fec50a4c211c3cc814eaf92ee9b>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -24,9 +24,11 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
|
|
|
24
24
|
|
|
25
25
|
export interface Spec extends TurboModule {
|
|
26
26
|
+commonTestFlag?: () => boolean;
|
|
27
|
+
+commonTestFlagWithoutNativeImplementation?: () => boolean;
|
|
27
28
|
+allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
|
|
28
29
|
+batchRenderingUpdatesInEventLoop?: () => boolean;
|
|
29
30
|
+completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
|
|
31
|
+
+disableEventLoopOnBridgeless?: () => boolean;
|
|
30
32
|
+enableAlignItemsBaselineOnFabricIOS?: () => boolean;
|
|
31
33
|
+enableAndroidLineHeightCentering?: () => boolean;
|
|
32
34
|
+enableBridgelessArchitecture?: () => boolean;
|
|
@@ -51,7 +53,6 @@ export interface Spec extends TurboModule {
|
|
|
51
53
|
+enableUIConsistency?: () => boolean;
|
|
52
54
|
+enableViewRecycling?: () => boolean;
|
|
53
55
|
+excludeYogaFromRawProps?: () => boolean;
|
|
54
|
-
+fetchImagesInViewPreallocation?: () => boolean;
|
|
55
56
|
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
|
56
57
|
+fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;
|
|
57
58
|
+forceBatchingMountItemsOnAndroid?: () => boolean;
|
|
@@ -60,7 +61,6 @@ export interface Spec extends TurboModule {
|
|
|
60
61
|
+initEagerTurboModulesOnNativeModulesQueueAndroid?: () => boolean;
|
|
61
62
|
+lazyAnimationCallbacks?: () => boolean;
|
|
62
63
|
+loadVectorDrawablesOnImages?: () => boolean;
|
|
63
|
-
+removeNestedCallsToDispatchMountItemsOnAndroid?: () => boolean;
|
|
64
64
|
+setAndroidLayoutDirection?: () => boolean;
|
|
65
65
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
66
66
|
+useFabricInterop?: () => boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
13
|
+
|
|
14
|
+
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
15
|
+
|
|
16
|
+
export type ReloadAndProfileConfig = {
|
|
17
|
+
shouldReloadAndProfile: boolean,
|
|
18
|
+
recordChangeDescriptions: boolean,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Linter doesn't speak Flow's `Partial` type
|
|
22
|
+
export type PartialReloadAndProfileConfig = {
|
|
23
|
+
shouldReloadAndProfile?: boolean,
|
|
24
|
+
recordChangeDescriptions?: boolean,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export interface Spec extends TurboModule {
|
|
28
|
+
+setReloadAndProfileConfig: (config: PartialReloadAndProfileConfig) => void;
|
|
29
|
+
+getReloadAndProfileConfig: () => ReloadAndProfileConfig;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default (TurboModuleRegistry.get<Spec>(
|
|
33
|
+
'ReactDevToolsRuntimeSettingsModule',
|
|
34
|
+
): ?Spec);
|
|
@@ -12,21 +12,15 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
|
|
|
12
12
|
|
|
13
13
|
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';
|
|
14
14
|
|
|
15
|
-
export type ColorSchemeName = 'light' | 'dark';
|
|
15
|
+
export type ColorSchemeName = 'light' | 'dark' | 'unspecified';
|
|
16
16
|
|
|
17
17
|
export type AppearancePreferences = {
|
|
18
|
-
|
|
19
|
-
// types.
|
|
20
|
-
/* 'light' | 'dark' */
|
|
21
|
-
colorScheme?: ?string,
|
|
18
|
+
colorScheme?: ?ColorSchemeName,
|
|
22
19
|
};
|
|
23
20
|
|
|
24
21
|
export interface Spec extends TurboModule {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/* 'light' | 'dark' */
|
|
28
|
-
+getColorScheme: () => ?string;
|
|
29
|
-
+setColorScheme: (colorScheme: string) => void;
|
|
22
|
+
+getColorScheme: () => ?ColorSchemeName;
|
|
23
|
+
+setColorScheme: (colorScheme: ColorSchemeName) => void;
|
|
30
24
|
|
|
31
25
|
// RCTEventEmitter
|
|
32
26
|
+addListener: (eventName: string) => void;
|
|
@@ -16,8 +16,8 @@ import type {
|
|
|
16
16
|
} from './PerformanceEntry';
|
|
17
17
|
|
|
18
18
|
import {PerformanceEntry} from './PerformanceEntry';
|
|
19
|
-
import {warnNoNativePerformance} from './Utilities';
|
|
20
19
|
import NativePerformance from './specs/NativePerformance';
|
|
20
|
+
import {warnNoNativePerformance} from './Utilities';
|
|
21
21
|
|
|
22
22
|
export type PerformanceEventTimingJSON = {
|
|
23
23
|
...PerformanceEntryJSON,
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
14
|
DOMHighResTimeStamp,
|
|
15
|
-
PerformanceEntryType,
|
|
16
15
|
PerformanceEntryList,
|
|
16
|
+
PerformanceEntryType,
|
|
17
17
|
} from './PerformanceEntry';
|
|
18
18
|
import type {DetailType, PerformanceMarkOptions} from './UserTiming';
|
|
19
19
|
|
|
@@ -109,15 +109,24 @@ export default class Performance {
|
|
|
109
109
|
markName: string,
|
|
110
110
|
markOptions?: PerformanceMarkOptions,
|
|
111
111
|
): PerformanceMark {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
let computedStartTime;
|
|
113
|
+
if (NativePerformance?.markWithResult) {
|
|
114
|
+
computedStartTime = NativePerformance.markWithResult(
|
|
115
|
+
markName,
|
|
116
|
+
markOptions?.startTime,
|
|
117
|
+
);
|
|
118
|
+
} else if (NativePerformance?.mark) {
|
|
119
|
+
computedStartTime = markOptions?.startTime ?? performance.now();
|
|
120
|
+
NativePerformance?.mark?.(markName, computedStartTime);
|
|
116
121
|
} else {
|
|
117
122
|
warnNoNativePerformance();
|
|
123
|
+
computedStartTime = performance.now();
|
|
118
124
|
}
|
|
119
125
|
|
|
120
|
-
return
|
|
126
|
+
return new PerformanceMark(markName, {
|
|
127
|
+
startTime: computedStartTime,
|
|
128
|
+
detail: markOptions?.detail,
|
|
129
|
+
});
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
clearMarks(markName?: string): void {
|
|
@@ -143,6 +152,7 @@ export default class Performance {
|
|
|
143
152
|
|
|
144
153
|
if (typeof startMarkOrOptions === 'string') {
|
|
145
154
|
startMarkName = startMarkOrOptions;
|
|
155
|
+
options = {};
|
|
146
156
|
} else if (startMarkOrOptions !== undefined) {
|
|
147
157
|
options = startMarkOrOptions;
|
|
148
158
|
if (endMark !== undefined) {
|
|
@@ -180,15 +190,20 @@ export default class Performance {
|
|
|
180
190
|
duration = options.duration ?? duration;
|
|
181
191
|
}
|
|
182
192
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
193
|
+
let computedStartTime = startTime;
|
|
194
|
+
let computedDuration = duration;
|
|
195
|
+
|
|
196
|
+
if (NativePerformance?.measureWithResult) {
|
|
197
|
+
[computedStartTime, computedDuration] =
|
|
198
|
+
NativePerformance.measureWithResult(
|
|
199
|
+
measureName,
|
|
200
|
+
startTime,
|
|
201
|
+
endTime,
|
|
202
|
+
duration,
|
|
203
|
+
startMarkName,
|
|
204
|
+
endMarkName,
|
|
205
|
+
);
|
|
206
|
+
} else if (NativePerformance?.measure) {
|
|
192
207
|
NativePerformance.measure(
|
|
193
208
|
measureName,
|
|
194
209
|
startTime,
|
|
@@ -201,6 +216,12 @@ export default class Performance {
|
|
|
201
216
|
warnNoNativePerformance();
|
|
202
217
|
}
|
|
203
218
|
|
|
219
|
+
const measure = new PerformanceMeasure(measureName, {
|
|
220
|
+
startTime: computedStartTime,
|
|
221
|
+
duration: computedDuration,
|
|
222
|
+
detail: options?.detail,
|
|
223
|
+
});
|
|
224
|
+
|
|
204
225
|
return measure;
|
|
205
226
|
}
|
|
206
227
|
|
|
@@ -10,9 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
import type {
|
|
12
12
|
DOMHighResTimeStamp,
|
|
13
|
-
PerformanceEntryType,
|
|
14
13
|
PerformanceEntryList,
|
|
14
|
+
PerformanceEntryType,
|
|
15
15
|
} from './PerformanceEntry';
|
|
16
|
+
import type {OpaqueNativeObserverHandle} from './specs/NativePerformance';
|
|
16
17
|
|
|
17
18
|
import {PerformanceEventTiming} from './EventTiming';
|
|
18
19
|
import {
|
|
@@ -21,7 +22,6 @@ import {
|
|
|
21
22
|
rawToPerformanceEntryType,
|
|
22
23
|
} from './RawPerformanceEntry';
|
|
23
24
|
import NativePerformance from './specs/NativePerformance';
|
|
24
|
-
import type {OpaqueNativeObserverHandle} from './specs/NativePerformance';
|
|
25
25
|
import {warnNoNativePerformance} from './Utilities';
|
|
26
26
|
|
|
27
27
|
export {PerformanceEntry} from './PerformanceEntry';
|